電子書籍の厳選無料作品が豊富!

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
------------------------------------------------------------------------

何が原因か分かりますでしょうか?

よろしくお願い致します

A 回答 (2件)

/usr/local/shells/rsync-docs_com.sh に実行権はついてますか?



> # sh /usr/local/shells/rsync-docs_com.sh
> #
> で手動で実行すれば正常にログも出力されます。

とありますが、sh から起動するとスクリプトに実行権がなくても実行はできます。しかし、crontabの設定をみるとsh からの起動ではなくてスクリプトを直接指定しているので、そこがちょっと気になりました。

的外れならすみません。

この回答への補足

ありがとうございました。
やはりアクセス権に実行権限が与えていなかったことが原因でした。
ポカミスです。

>tsuriito_001さん
ありがとうございます。
rootファイルを直で編集しましたが、cronの再起動は行ってましたので、実行権限が問題でした。


ありがとうございました。

補足日時:2006/10/10 14:40
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございます。

ご指摘のようにスクリプトの実行権限が設定されておりませんでした。(すみません、確認漏れでした)

> sh から起動するとスクリプトに実行権がなくても実行はできます。
は知りませんでした、勉強になりました。

スクリプトファイルに実行権を与えて再設定を行いましたので、明日のスケジュールでの動作を確認するようにしたいと思います。

ありがとうございました。

お礼日時:2006/10/09 11:55

既に解決済みだといいのですが、もし実行権の問題では


無かった場合のために。

rootファイルですが、直で編集しちゃいましたか?
それとも、crontab -e コマンドで編集しましたか?

前者の場合、cron の再起動が必要な可能性がありま
す。以下のようにしてみるのも良いでしょう。

# /etc/init.d/cron stop
# /etc/init.d/cron start
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!