⏰
Hosting

Cron Job to'liq qo'llanma: avtomatik vazifalar uchun rejalashtirish

30.05.2030
← Barcha maqolalar

Cron β€” bu Unix va Linux serverlarda avtomatik vazifalarni rejalashtirish tizimi. 1975 yilda Brian Kernighan tomonidan AT&T Bell Labs'da yaratilgan. Cron har minutda ishga tushadi va o'zining rejasini tekshiradi β€” agar belgilangan vaqt kelgan bo'lsa, kerakli skriptni ishga tushiradi. Bu sizning saytingizda backup yaratish, email yuborish, ma'lumotlar bazasini tozalash kabi muntazam vazifalar uchun zarur.

Cron sintaksisi

Cron job sintaksisi besh maydondan iborat: daqiqa (0-59), soat (0-23), kun (1-31), oy (1-12), hafta kuni (0-7, 0 va 7 = yakshanba), keyin ishga tushiriladigan komanda.

Misollar: * * * * * /path/to/script.sh β€” har minutda; 0 * * * * /path/to/script.sh β€” har soat boshida; 0 0 * * * /path/to/script.sh β€” har kun yarim tunda; 0 0 * * 0 /path/to/script.sh β€” har yakshanba yarim tunda; */5 * * * * /path/to/script.sh β€” har 5 daqiqada.

cPanel'da cron job qo'shish

cPanel β†’ Cron Jobs β†’ "Add New Cron Job". Common Settings'dan tayyor jadval tanlash mumkin yoki maxsus vaqt belgilash. Command maydoniga ishga tushiriladigan komandani kiritish. Misol: WordPress wp-cron.php uchun har 15 daqiqada: */15 * * * * /usr/local/bin/php /home/user/public_html/wp-cron.php

Real misollar

WordPress wp-cron'ni avtomatlash β€” Native WordPress cron har sahifa yuklashda ishga tushadi (sekin), real cron orqali har 15 daqiqada ishlatish yaxshi. Birinchi wp-config.php'da define('DISABLE_WP_CRON', true); qo'shing, keyin cron yarating.

Backup database har kuni β€” 0 2 * * * mysqldump -u dbuser -pPASSWORD dbname | gzip > /home/user/backups/db_$(date +\%Y\%m\%d).sql.gz. % belgisi cron'da escape qilinishi kerak β€” \%.

Email send report β€” har dushanba ertalab: 0 9 * * 1 /usr/local/bin/php /home/user/scripts/weekly_report.php.

Log fayllarni tozalash β€” har oy 1-da: 0 0 1 * * find /home/user/logs -name "*.log" -mtime +30 -delete.

Xatolarni topish

Cron ishlamasa, asosiy sabablar: (1) Path muammosi β€” skript yo'li to'liq berilmagan; (2) Permission muammosi β€” skriptga execute permission yo'q (chmod +x); (3) Shebang yetishmovchiligi β€” skript boshida #!/bin/bash yoki #!/usr/bin/php; (4) Environment β€” cron environment shell'dan farq qiladi, $PATH va boshqalar boshqacha.

Debugging uchun output'ni log faylga yo'naltirish: * * * * * /path/to/script.sh > /home/user/cron.log 2>&1.

Sayt.uz amaliyot

Sayt.uz hosting tariflarida cron jobs default yoqilgan. Basic Hosting'da 5 cron, Pro Hosting'da cheksiz. Mijozlarning 67% kamida 1 ta cron'dan foydalanadi. Eng ko'p ishlatuvi: WordPress wp-cron (47%), database backup (32%), email/Telegram bildirishnoma (28%), log tozalash (19%). Maslahat: cron skriptlarni har doim absolute path bilan yozing (/home/user/script.sh, /script.sh emas) β€” bu xatolarning eng katta manbai.

O'xshash maqolalar

πŸ’° Hosting narx taqqoslash: O'zbekistondagi va xalqaro provider'lar πŸ“‘ Server monitoring vositalari: Prometheus, Grafana, Datadog va boshqalar 🌐 Edge computing hosting: hisoblashni foydalanuvchiga yaqinlashtirish 🏒 Colocation server: o'z hardware'ingizni data center'da joylash
🌐 Til
πŸ‡ΊπŸ‡Ώ O'zbek βœ“ πŸ‡ΊπŸ‡Ώ ЎзбСк πŸ‡·πŸ‡Ί Русский πŸ‡¬πŸ‡§ English