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?


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 "\".


4

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.