このスクリプトを書きましたが、うまくいきません。
#! /bin/bash
cront=$(crontab -e)
echo 00 23 * * 5 tar -cpzf /var/backup.tar.gz /home/$USER >> $cront
スクリプトを使用してcronjobを追加するにはどうすればよいですか?
これは仕事をするはずです:
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にします。これは、最初に-u
のman crontab
オプションについて読む場合、別のユーザーをいじらない場合にのみ機能することに注意してください。