Akhir pekan lalu kami harus mengubah waktu dari 02:00 menjadi 03:00.
Pertanyaan: Apa yang akan terjadi jika ada cronjob pukul 02:30?
crond adalah solusi yang sangat lama untuk penjadwalan, mungkin harus menanganinya, tetapi tidak tahu caranya.
Akhir pekan lalu kami harus mengubah waktu dari 02:00 menjadi 03:00.
Pertanyaan: Apa yang akan terjadi jika ada cronjob pukul 02:30?
crond adalah solusi yang sangat lama untuk penjadwalan, mungkin harus menanganinya, tetapi tidak tahu caranya.
Jawaban:
Ini mungkin tergantung pada implementasi cron Anda, tetapi cron Vixie populer menyatakan dalam manual:
cron kemudian bangun setiap menit, memeriksa semua crontab yang tersimpan, memeriksa setiap perintah untuk melihat apakah harus dijalankan pada menit saat ini.
dan
Pertimbangan khusus ada ketika jam diubah kurang dari 3 jam, misalnya pada awal dan akhir waktu musim panas. Jika waktu telah bergerak maju, pekerjaan-pekerjaan yang akan berjalan dalam waktu yang dilewati akan dijalankan segera setelah perubahan. Sebaliknya, jika waktu telah mundur kurang dari 3 jam, pekerjaan-pekerjaan yang jatuh ke dalam waktu yang berulang tidak akan dijalankan kembali.
Hanya pekerjaan yang berjalan pada waktu tertentu (tidak ditentukan sebagai @hourly, atau dengan '*' dalam penentu jam atau menit) yang terpengaruh. Pekerjaan yang ditentukan dengan wildcard dijalankan berdasarkan waktu baru dengan segera.
Karena perubahan DST kurang dari 3 jam, program Anda akan berjalan segera setelah jam 3:00 pagi
Saya tidak yakin apakah ini perilaku spesifik Vixie cron, saya ingat ini adalah bagaimana PDP-11 saya bekerja dengan baik di tahun 80-an tetapi saya tidak yakin.
Solusi terbaik adalah menjalankan komputer Anda dengan jam perangkat keras diatur ke UTC, (Waktu Universal Terkoordinasi), AKA GMT atau Zulu Time dan hanya mengubah cara waktu ditampilkan dengan mengatur zona waktu setempat untuk memungkinkan Day Light Saving waktu untuk mengambil alih.
Pada SUSE Linux, dan mungkin sebagian besar lainnya, jika Sistem Jam Hardware -> Lingkungan -> Jam -> HWCLOCK diatur ke UTC dengan flag -u lalu dan zona waktu Anda diatur ke tempat Anda berada, sistem akan secara otomatis menampilkan waktu lokal dengan koreksi DST untuk Anda.
Ini memiliki sejumlah keunggulan:
Untuk informasi lebih lanjut, ketikkan man hwclock
terminal.