0 * * * * İfadesi
0 * * * * cron ifadesi her saatin 0. dakikasında bir iş çalıştırır. Beş alan dakika, saat, ayın günü, ay, haftanın günüdür. Dakikayı 0 olarak ayarlamak ve diğer her şey için * kullanmak, işin 00:00, 01:00, 02:00 vb. saatlerde, günde tam olarak 24 kez çalışması anlamına gelir.
Dakika Alanı Neden Önemlidir
Kaçak cron işlerinin en büyük kaynağı, * * * * * ile 0 * * * * arasında karıştırmaktır.
* * * * * # her dakika çalışır, günde 1440 kez
0 * * * * # her saat çalışır, günde 24 kez
Saatlik bir iş istiyor ve * * * * * yazıyorsanız, günlüklerinizi kontrol edene ve tüm gün çalıştığını görene kadar sorunu fark etmezsiniz.
@hourly Kısayolu
Çoğu cron uygulaması bir dizi @ kısayolu destekler:
| Kısayol | Eşdeğer |
|---|---|
@hourly | 0 * * * * |
@daily | 0 0 * * * |
@weekly | 0 0 * * 0 |
@monthly | 0 0 1 * * |
@yearly | 0 0 1 1 * |
@reboot | başlangıçta bir kez çalışır |
Saatlik İşleri Zamanlama
Birden fazla hizmetiniz varsa ve hepsi saatlik iş çalıştırıyorsa, hepsini 0 * * * * olarak zamanlamak her saat başında bir sürü oluşturur. Her şey aynı anda çalışır, veritabanları aynı anda vurulur.
Çözüm, her işi birkaç dakika ofsetlemektir:
0 * * * * /opt/jobs/report-generator
7 * * * * /opt/jobs/cache-warmer
14 * * * * /opt/jobs/data-sync
21 * * * * /opt/jobs/cleanup
Saatlik Ne Zaman Doğru Seçimdir
Rapor oluşturma
Saatlik özetler, “son saat” metriklerini gösteren panolar için doğal bir sınırdır.
Harici API senkronizasyonu
Harici bir hizmetten veri çekiyorsanız ve veri saatte en fazla bir kez değişiyorsa, daha sık yoklama kota israfıdır.
Temizlik görevleri
Geçici dosyaları silme, süresi dolmuş önbellek girişlerini temizleme veya eski kayıtları arşivleme genellikle saatlik yapılır.