「crontab」を使用して1分ごとに新しいアーカイブを作成します

「crontab」を使用して1分ごとに新しいアーカイブを作成します

次のコードを使用して、営業日ごとに毎分crontab新しいファイルを作成する を作成しようとしています。.tar

*/1 * * * 1,2,3,4,5 tar -cf /home/user/Archiv/$(date +"%Y%m%d%H%M").tar /home/user/Textverarbeitung/ -P

これは機能しません。なぜですか?

答え1

cronは改行として扱われます。 で使用されているリテラルを取得するに%は、 をエスケープする必要があります。\%%date

したがって、次のものが必要です:

date +"\%Y\%m\%d\%H\%M" 

または、スクリプトを使用して、スクリプト内のすべてのコマンドを使用し、からスクリプトを呼び出すこともできますcrontab

からman 5 crontab

コマンド内のパーセント記号 (%) は、バックスラッシュ (\) でエスケープしない限り、改行文字に変換され、最初の % の後のすべてのデータは標準入力としてコマンドに送信されます。シェルの末尾の "\" のように、1 つのコマンド ラインを複数の行に分割する方法はありません。

答え2

\%の代わりに使用します%- cron は%改行として使用します。

関連情報