「crontab」を使用して、毎分1回新しいアーカイブを作成します


9

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

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

これは機能しません。どうして?


記事が欠落している(OPのせいではない)ため、タイトルを「crontabを使用してすべてのアーカイブを作成する」(分単位)と読むのを止められないため、修正しています。

3
なぜ使用するの*/1ですか?それはちょうど同じではない*ですか?
naught101 2016年

回答:


15

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

だからあなたは必要です:

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

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

からman 5 crontab

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


4

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.