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 +%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