この質問に対する答えは自分で見つけることができません。
cronは/bin/shを使用するため、構文エラーが発生します。次のコマンドを使用するcronジョブがあります。
2,17,32,47 * * * * tar -czvf /opt/SOMEFILES /var/lib/$(date +"%Y/%m/%d")
または
2,17,32,47 * * * * tar -czvf /opt/$(date +"%Y/%m/%d")/somefiles /var/lib/$(date +"%Y/%m/%d")
基本的にこれは単なる例であり、実際のクローン操作は少し異なります。いくつかの種類の例を見てみましょう。
$(date +"%Y/%m/%d")
Cronでどのように使用するのか分からない部分です。
クローンでどのように使用できますか? curdate は対応するフォルダーにすることもできます。
答え1
私はあなたが受け取っている正確なエラーはありませんが、私の考えはエスケープ文字の問題のようです(日付ではバックスラッシュの代わりにスラッシュを使用しています)
「6番目」フィールド(行の残りの部分)は、実行するコマンドを指定します。行の完全なコマンド部分(改行または%文字まで)は、/ bin / shまたはcronfileのSHELL変数で指定されたシェルによって実行されます。バックスラッシュ()でエスケープしない限り、コマンドのパーセント記号(%)は改行文字に変更され、最初の%以降のすべてのデータはコマンドに標準入力として送信されます。
同様の形式を試してください。
`date +\%Y\%m\%d\`
答え2
解決策1:\
バックスラッシュを次に変換します。date
2,17,32,47 * * * * tar -czvf /opt/SOMEFILES >> /var/lib/`date +\%Y\%m\%d\`
解決策2:
コマンドをシェルファイルに入れてから、cron を使用してシェルファイルを実行することもできます。
職業
tar -czvf /opt/SOMEFILES >> /var/lib/`date+\%Y\%m\%d\`
予約されたこと
2,17,32,47 * * * * jobs.sh