Cron Advanced Scheduling
cron — bu Linux va Unix tizimlarida avtomatlashtirilgan vazifalarni (skriptlar, buyruqlar) belgilangan vaqtda ishga tushirish uchun ishlatiladigan xizmat. Oddiy cron jadvali (crontab) sintaksisi quyidagicha:
* * * * * command-to-execute
Har bir yulduzcha quyidagilarni anglatadi:
- 1: Minut (0-59)
- 2: Soat (0-23)
- 3: Kun (oyda) (1-31)
- 4: Oy (1-12)
- 5: Haftaning kuni (0-7, 0 va 7 yakshanba)
Asosiy Misollar
Har 5 daqiqada skript ishga tushirish
*/5 * * * * /home/user/script.sh
Har kuni soat 2:30 da backup qilish
30 2 * * * /usr/bin/backup.sh
Har dushanba va payshanba soat 8:00 da email yuborish
0 8 * * 1,4 /home/user/send_email.sh
Har oyning birinchi kuni soat 00:00 da loglarni tozalash
0 0 1 * * /usr/bin/clean_logs.sh
Advanced Scheduling Misollar
Har oyning oxirgi kuni
59 23 28-31 * * [ "$(date +\%d -d tomorrow)" == "01" ] && /home/user/month_end.sh
Bu misolda, faqat oyning oxirgi kuni skript ishga tushadi.
Har 15 daqiqada, faqat ish kunlari (dushanba-juma)
*/15 * * * 1-5 /home/user/workday_task.sh
Har 2 soatda, faqat 9:00 dan 17:00 gacha
0 9-17/2 * * * /home/user/office_hours.sh
Har oyning 10, 20 va 30-kunlari
0 0 10,20,30 * * /home/user/special_days.sh
Har yakshanba soat 23:00 da serverni qayta yuklash
0 23 * * 0 /sbin/reboot
Cron Sintaksisda Qo‘shimcha Imkoniyatlar
- Diapazonlar:
1-5(dushanba-juma) - Ro‘yxatlar:
1,3,5(dushanba, chorshanba, juma) - Step values:
*/10(har 10 minutda) - Wildcard (
*): har doim
Cron Ishlashini Tekshirish
Cron loglarini ko‘rish:
sudo tail -f /var/log/syslog | grep CRON
Cron jadvalini tahrirlash:
crontab -e
Cron jadvalini ko‘rish:
crontab -l
Muhim Eslatmalar
- Har bir cron vazifasi uchun to‘liq yo‘lni ko‘rsating (masalan,
/usr/bin/python3). - Muhit o‘zgaruvchilari (
PATH,HOME) cron-da cheklangan bo‘lishi mumkin. - Standart chiqishni log fayliga yo‘naltiring:
* * * * * /home/user/script.sh >> /home/user/cron.log 2>&1
Foydali Havolalar
- Crontab Guru — cron jadvalini tez va oson tuzish uchun.
man 5 crontab— terminalda cron sintaksisi haqida to‘liq ma’lumot.
Cron yordamida tizimni avtomatlashtirish imkoniyatlari juda keng. To‘g‘ri jadval tuzish va sinab ko‘rish orqali samarali va xavsiz avtomatlashtirishga erishasiz.