web-dev-qa-db-ja.com

スクリプトを使用してcronjobを追加するにはどうすればよいですか?

このスクリプトを書きましたが、うまくいきません。

#! /bin/bash
cront=$(crontab -e)
echo 00 23 * * 5 tar -cpzf /var/backup.tar.gz /home/$USER >> $cront

スクリプトを使用してcronjobを追加するにはどうすればよいですか?

2
amina ibrahim

これは仕事をするはずです:

crontab -l|sed "\$a0 23 * * 5 tar -cpzf /var/backup.tar.gz /home/$USER"|crontab -

この一連のコマンドは、sed式(太字)の\$aの後のすべてを、現在のユーザーのcrontabの新しい行として追加します。 crontab -lは現在のcrontabを出力し、sedは行を最後に追加し、crontab -はパイプからstdinを取得して新しいcrontabにします。これは、最初に-uman crontabオプションについて読む場合、別のユーザーをいじらない場合にのみ機能することに注意してください。

2
dessert