web-dev-qa-db-ja.com

cron.weeklyが実行されない

/etc/myprog/myscript.shに毎週実行したいシェルスクリプトがあります。したがって、/ etc/cron.weeklyにシンボリックリンクを作成しました。

root@ip-10-190-199-197:/etc/cron.weekly# ls -ltr
total 8
-rwxr-xr-x 1 root root 895 2011-07-27 11:32 man-db
-rwxr-xr-x 1 root root 730 2011-09-24 14:55 apt-xapian-index
lrwxrwxrwx 1 root root  31 2011-11-17 05:36 myscript -> /etc/myprog/myscript.sh

それをテストするために、私はしました:

cd /etc/cron.weekly
Sudo ./myscript

それは完璧に動作します。ただし、何らかの理由でcronjobが実際に実行されることはありません。 cron.weeklyをアクティブにするために何かする必要がありますか?

/etc/myprog/myscript.shの内容は次のとおりです。

cd /var/log/myprog/
/etc/myprog/updatescript.sh 1> `date '+/etc/myprog/logs/%Y-%m-%d-cran.log'` 2> `date '+/etc/myprog/logs/%Y-%m-%d-cran-warnings.log'`
2
Jeroen

スクリプトの先頭に Shebang を追加して、cronが使用するインタープリターを認識できるようにする必要があると思います。したがって、スクリプトは次のようになります。

#!/bin/sh
cd /var/log/myprog/
/etc/myprog/updatescript.sh 1> `date '+/etc/myprog/logs/%Y-%m-%d-cran.log'` 2> `date '+/etc/myprog/logs/%Y-%m-%d-cran-warnings.log'`

Cronはパスなどについてあまり知らない可能性があるため、より多くの手がかりを与える必要があります。

1
Hamish Downer