• ベストアンサー

cron設定で正常に動作しない

Solaris8でcronの設定を行っております。 まず /var/spool/cron/crontabs/rootファイルに 30 6 * * * /usr/local/shells/rsync-docs_com.sh を追加しました。 cronのログを確認したところ以下のメッセージが表示されていましたが、実際に処理は動いてなさそうです。 > CMD: /usr/local/shells/rsync-docs_com.sh > root 22386 c (月) 10月 9 06:30:00 2006 < root 22386 c (月) 10月 9 06:30:00 2006 rc=1 スクリプトファイルは処理が実行されるとログを出力するように設定していますがログが出力されません。 # sh /usr/local/shells/rsync-docs_com.sh # で手動で実行すれば正常にログも出力されます。 ------------------------------------------------------------------------ #!/bin/sh LOG_DIR=/home1/WEB_BACKUP/rsync_logs DAYS=30 /usr/bin/find $LOG_DIR -name 'rsync_*.log' -mtime +$DAYS -exec /usr/bin/rm {} \; /usr/local/bin/rsync -av --delete rsync://WWW7/www7-doc /home1/WEB_BACKUP/ www/docs_com >$LOG_DIR/docs_com-`date +%m%d%H%M`.log 2>&1 ------------------------------------------------------------------------ 何が原因か分かりますでしょうか? よろしくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

/usr/local/shells/rsync-docs_com.sh に実行権はついてますか? > # sh /usr/local/shells/rsync-docs_com.sh > # > で手動で実行すれば正常にログも出力されます。 とありますが、sh から起動するとスクリプトに実行権がなくても実行はできます。しかし、crontabの設定をみるとsh からの起動ではなくてスクリプトを直接指定しているので、そこがちょっと気になりました。 的外れならすみません。

liao
質問者

お礼

早速のご回答、ありがとうございます。 ご指摘のようにスクリプトの実行権限が設定されておりませんでした。(すみません、確認漏れでした) > sh から起動するとスクリプトに実行権がなくても実行はできます。 は知りませんでした、勉強になりました。 スクリプトファイルに実行権を与えて再設定を行いましたので、明日のスケジュールでの動作を確認するようにしたいと思います。 ありがとうございました。

liao
質問者

補足

ありがとうございました。 やはりアクセス権に実行権限が与えていなかったことが原因でした。 ポカミスです。 >tsuriito_001さん ありがとうございます。 rootファイルを直で編集しましたが、cronの再起動は行ってましたので、実行権限が問題でした。 ありがとうございました。

その他の回答 (1)

回答No.2

既に解決済みだといいのですが、もし実行権の問題では 無かった場合のために。 rootファイルですが、直で編集しちゃいましたか? それとも、crontab -e コマンドで編集しましたか? 前者の場合、cron の再起動が必要な可能性がありま す。以下のようにしてみるのも良いでしょう。 # /etc/init.d/cron stop # /etc/init.d/cron start

関連するQ&A