cronが正常に動作しません。助けてください。 シェルスクリプトをcronに読み込ませています。
cronが正常に動作しません。助けてください。 シェルスクリプトをcronに読み込ませています。 設定時間にそのshが実行されるはずですが、/var/spool/mail/userにメールが届いた旨のメッセージがプロンプトに表示され、shの中身が動いておりません。少しでも引っかかる箇所がありましたらご指摘お願いいたします。 "1^M:曖昧なリダイレクトです。"がキーだと思うのですが、リダイレクトの書き方、cronの書き方、絶対パスの書き方(正しいパスです)、何れも正しいものです。 xは適当なディレクトリ名ですが、階層は正しい構成となっております。 よろしくお願いいたします。 <現在登録されたcrontab> $ 25 14 * * * sh /x/x/x/hoge.sh > /dev/null 2>&1 <hoge.shの中身> #!/bin/sh echo "cron start" >> /x/x/x/x/log.file <var/spool/mail/userの中身> 以下略 /bin/sh: 1^M: 曖昧なリダイレクトです </var/log/cronの中身> May 17 14:24:01 localhost crond[9001]: (user) RELOAD (/xxx/xxx/xxx/user) May 17 14:25:01 localhost CROND[24711]: (user) CMD (sh /x/x/x/hoge.sh > /dev/null 2>&1^M)
シェルスクリプト単体では動きます。 cronで動かしたシェルスクリプトが動かないのが現状です。
Linux系・54閲覧
ベストアンサー
余計なCRというのは改行という事でしょうか。 「25 14 * * * sh /x/x/x/hoge.sh > /dev/null 2>&1」 上記構文をエディタに空白を表示などして、確認しておりますが、改行などはございません。 cront.txtを、crontab cron.txtの書式で読み込んでいますが、テキスト内にCR(改行)があった場合、エラーが出てcron.txtを読み込むことができなかったです。読み込めたという事は改行は入っていないとという事になると思います。
質問者からのお礼コメント
勉強になりました。ありがとうございました。
お礼日時:5/18 11:37