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?
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?
Jawaban:
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
Praktik umum untuk ini adalah menggunakan cap waktu menggunakan date +%s
untuk 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