/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'`
スクリプトの先頭に 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はパスなどについてあまり知らない可能性があるため、より多くの手がかりを与える必要があります。