Buat arsip baru sekali per menit menggunakan "crontab"

9

Saya mencoba membuat crontabyang membuat .tarfile baru setiap menit setiap hari kerja dengan menggunakan kode berikut:

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

Ini tidak berhasil. Mengapa?

LUXS
sumber
Saya tidak bisa berhenti membaca judul sebagai "Buat setiap menit arsip menggunakan crontab" (menit seperti kecil) karena artikelnya hilang (bukan kesalahan OP), jadi saya memperbaikinya.
kucing
3
Mengapa Anda menggunakan */1? Bukankah itu sama dengan adil *?
nucky101

Jawaban:

15

cronmemperlakukan %sebagai baris baru. Anda perlu menggunakan escape itu yaitu digunakan \%untuk mendapatkan literal %seperti yang digunakan di date.

Jadi, Anda perlu:

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

Atau Anda dapat menggunakan skrip dan menggunakan semua perintah dalam skrip dan memanggil skrip dari crontab.

Dari man 5 crontab:

Tanda-persen (%) dalam perintah, kecuali lolos dengan backslash (\), akan diubah menjadi karakter baris baru, dan semua data setelah% pertama akan dikirim ke perintah sebagai input standar. Tidak ada cara untuk membagi satu baris perintah menjadi beberapa baris, seperti shell yang mengekor "\".

heemayl
sumber
4

Gunakan \%alih-alih %penggunaan cron %sebagai baris baru.

YHOLGA
sumber