cronjob内のlinux 'date'コマンドを使用する際に問題があります。cronjobのlinux dateコマンドを使用してください
のLinux版:CentOSのLinuxの7(コア)
私は必要なものは、私のtest.shスクリプトにパラメータとして9日前の日付です。 今日は、実行する必要のあるジョブがあり、2016年10月8日である:
/scripts/test.sh 2016-08-01
crontabの中に私のコード:
DATEVAR=$(date +%F --date="9 days ago")
0 12 * * tue ~/scripts/test.sh $($DATEVAR)
だから、Linuxのコマンドは、「日付+%F --dateです= "9 days ago" 'しかし、これを実行してパラメータとして設定する必要があります。 それが今、パラメータ「$(日付」としてスクリプトを実行されないもの:
~/scripts/test.sh $(date
私は大成功せず、次のものでDATEVARを設定しようとしている:この場合
DATEVAR='date +%F --date="9 days ago"'
DATEVAR=date +%F --date="9 days ago"
DATEVAR=$(date +%F --date="9 days ago")
DATEVAR=(shell date +%F --date="9 days ago")
誰もが知っています可能であると私DATEVARを「日付」コマンドを実行した結果を設定することができますか?
正式な回答を提供するのに十分な情報がありません。あなたはどのLinuxの味を使っていますか?いくつかの(Ubuntu?)は、 '/ bin/sh'としてbashを使いませんし、' $(..) '表記をサポートしないシェルもあります。代わりにバッククォートを試してみてください。パーセント文字をエスケープすることも試してください。また、 '$($ DATEVAR)'は 'date'コマンドの出力をコメントそのもののように実行するので、(あなたのcrontabでは)おそらく間違っています。 – ghoti
可能な複製http://stackoverflow.com/questions/27123367/percent-sign-not-working-in-crontab – tripleee