Utwórz nowe archiwum raz na minutę za pomocą „crontab”


9

Próbuję utworzyć plik, crontabktóry tworzy nowy .tarplik co minutę każdego dnia roboczego, używając następującego kodu:

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

To nie działa Dlaczego?


Nie mogę przestać czytać tytułu jako „Utwórz każdą minutę archiwum przy użyciu crontab” (minuta jak mała), ponieważ brakuje artykułu (nie wina OP), więc go naprawiam.
kot

3
Dlaczego miałbyś skorzystać */1? Czy to nie to samo co tylko *?
naught101

Odpowiedzi:


15

crontraktuje %jak nowe linie. Musisz użyć ucieczki, tzn. Użyć, \%aby uzyskać dosłowność %taką, jak w date.

Potrzebujesz więc:

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

Lub możesz użyć skryptu i użyć wszystkich poleceń w skrypcie i wywołać skrypt z crontab.

Od man 5 crontab:

Znaki procentu (%) w poleceniu, chyba że poprzedzone znakiem odwrotnego ukośnika (\), zostaną zamienione na znaki nowego wiersza, a wszystkie dane po pierwszym% zostaną przesłane do polecenia jako standardowe wejście. Nie ma sposobu na podzielenie jednego wiersza poleceń na wiele wierszy, np. Końcowe „\” powłoki.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.