Bagaimana cara menambahkan id unik ke nama file dalam pekerjaan cron?


8

Cronjob saya terlihat seperti ini:

5 3 * * * mysqldump -u root test > /srv/backup/mysql_daily.dump

Bagaimana saya bisa membuat nama file unik untuk setiap kali ketika cronjob menulis mysql_daily.dump?


2
Luangkan waktu untuk mengeja judul dengan benar. Itu membuat pencarian jauh lebih mudah untuk semua orang.
Mikel

1
Anda menulis "Bagaimana cara menambahkan uniqie id ke file nime dalam tugas cron".
Mikel

Mengapa Anda tidak menggunakan automysqlbackup?
stoeff

Jawaban:


14

Untuk bash, mungkin:

... > /srv/backup/mysql_daily-$(date -u +\%Y\%m\%dT\%H\%M\%S)Z.${RANDOM}.dump

Secara pribadi, saya umumnya hanya menaruh perintah sederhana di blog saya crontab. Saya akan memasukkan ini ke dalam skrip kecil dan menggunakan skrip dalam crontab. Ini akan bermanfaat jika tidak mengharuskan %karakter untuk melarikan diri (perangkap crontab umum).

pembaruan membuatnya ISO 8601 per @ johan komentar

cron


1
Anda bisa memodifikasi sedikit sintaks dan itu akan menjadi format tanggal ISO 8601 yang sempurna. [YYYY] [MM] [DD] T [hh] [mm] [ss] Z, karena Anda menggunakan date -u untuk UTC Anda bisa menambahkan Z setelah tanggal;). en.wikipedia.org/wiki/…
Johan

3

Praktik umum untuk ini adalah menggunakan cap waktu menggunakan date +%suntuk menghasilkan sesuatu yang berguna untuk menandai file (saya menggunakan detik sebagai contoh tetapi Anda dapat menggunakan format tanggal apa pun). Benar-benar tidak perlu memiliki nama file yang benar-benar unik selama nama file tidak bertentangan.

5 3 * * * mysqldump -u root test > /srv/backup/mysql_daily_`date +\%s`.dump

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.