スクリプトから crontab の編集と更新
cronのユーザー別設定ファイルである crontab は
通常,"crontab -e
" でエディタを起動してインタラクティブに
更新するわけだが,
スクリプトなどから自動的にエントリを追加するにはどうするのが
正しいのだろうか?
とりあえず,crontabコマンドを利用して 以下のようにすればうまくいくはずである. crontabエントリに不備がある場合はエラーも返ってくるし.
crontab -l > /tmp/crontab.temp echo "5 * * * * /home/username/somescript.sh" >> /tmp/crontab.temp if crontab -u username /tmp/crontab.temp then echo "crontab install is done successfully." else echo "crontab install is failed." fi rm /tmp/crontab.temp
GNU/Linux環境だったら,/etc/crontab にエントリを付け加えるだけで cronの動作に反映されるみたいだ.
5 * * * * username /home/username/somescript.sh
直接エディタで crontab ファイルを書き換えて
kill -HUP `cat /var/run/cron.pid`
でもうまく行きそうな気もするんだけど,確認はせず.