私はこのcrontabを持っています
* * * * * tar -czf /backup/$(date +%F--%T)-localusers.tgz /vagrant
これはうまくいきません。しかし、私がそうするなら
tar -czf /backup/$(date +%F--%T)-localusers.tgz /vagrant/
効果がある
何が起こっているのか知っている人はいますか?しかし、このような電子メールが続きます。
N 10 (Cron Daemon) Thu Aug 23 10:43 28/1130 "Cron <root@localhost> tar -czf"
答え1
問題は、cronのパーセント記号の処理によって発生する可能性があります。
行の完全なコマンド部分(改行または%文字まで)は、 ` / bin / shまたはcrontabファイルのSHELL変数で指定されたシェルによって実行されます。バックスラッシュ()でエスケープしない限り、コマンドのパーセント記号(%)は改行文字に変更され、最初の%以降のすべてのデータはコマンドに標準入力として送信されます。
したがって、エスケープする必要があります。
* * * * * tar -czf /backup/$(date +\%F--\%T)-localusers.tgz /vagrant