Saya memiliki cronjob yang dijalankan setiap hari pada jam 9:00 UTC-Time. Saya dalam GMT + 1 sehingga dieksekusi pada 10:00 waktu setempat. Ketika ada perubahan zona waktu (ke daylight saving time, DST), cronjob mengeksekusi masih pada pukul 9:00 waktu UTC-Waktu tetapi pukul 11:00 waktu setempat. Tapi saya ingin selalu mengeksekusi pada 10:00, tidak peduli musim panas atau tidak. Bagaimana aku melakukan itu?
10
Jawaban:
Periksa pengaturan Anda di / etc / zona waktu. Dalam pertanyaan yang Anda sebutkan bahwa Anda berada di "GMT + 1", jika itu adalah zona waktu Anda, skrip Anda akan selalu dieksekusi di UTC ditambah satu jam. Jika Anda mengaturnya ke misalnya "Eropa / Paris", waktu eksekusi akan berubah dengan waktu musim panas.
sumber
Ini kemungkinan akan tergantung pada OS Anda dan penerapannya
cron
. Ini tidak mungkin dalam implementasi cron paling populervixie/isc cron
,. Daricrontab(5) manpage
:sumber
Memperluas jawaban @Cyrus inilah yang saya lakukan:
Saya membuat skrip yang memeriksa offset UTC:
Lalu saya menambahkan dua entri crontab masing-masing untuk offset yang saya inginkan:
sumber
Dari halaman manual:
sumber
Pindahkan cronjob Anda ke 8:00 dan tidur satu jam jika Anda berada di GMT + 1
sumber