Erstellt einmal pro Minute ein neues Archiv mit „crontab“

Erstellt einmal pro Minute ein neues Archiv mit „crontab“

Ich versuche, mithilfe des folgenden Codes ein Programm zu erstellen, das an jedem Werktag jede Minute crontabeine neue Datei erstellt :.tar

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

Das funktioniert nicht. Warum?

Antwort1

cronwird als Zeilenumbruch behandelt %. Sie müssen es mit Escapezeichen versehen, d. h. verwenden, um \%den Literalwert %wie in zu erhalten date.

Also brauchst du:

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

Oder Sie können ein Skript verwenden, alle Befehle im Skript nutzen und das Skript von aufrufen crontab.

Aus man 5 crontab:

Prozentzeichen (%) im Befehl werden, sofern sie nicht mit einem Backslash (\) maskiert sind, in Zeilenumbruchzeichen umgewandelt und alle Daten nach dem ersten % werden als Standardeingabe an den Befehl gesendet. Es gibt keine Möglichkeit, eine einzelne Befehlszeile auf mehrere Zeilen aufzuteilen, wie das abschließende "\" der Shell.

Antwort2

Verwenden Sie \%anstelle von %– Cron verwendet es %als neue Zeile.

verwandte Informationen