cron - Linux-da müəyyən vaxtda avtomatik işləyən tapşırıqlar. Backup, sayt monitoringi, statistik hesabatlar - hər biri cron ilə avtomatlaşdırılır.
crontab sintaksisi
* * * * * komanda
| | | | |
| | | | gün (0-7) (0=bazar, 7=bazar)
| | | ay (1-12)
| | ayın günü (1-31)
| saat (0-23)
dəqiqə (0-59)Nümunələr
Hər saat
0 * * * * /usr/local/bin/check.shHər gün gecə 02:00
0 2 * * * /usr/local/bin/backup.shHər həftə bazar günü
0 3 * * 0 /usr/local/bin/cleanup.shHər ay 1-ində
0 4 1 * * /usr/local/bin/monthly-report.shHər 5 dəqiqədə
*/5 * * * * /usr/local/bin/monitor.shcrontab idarə etmək
Crontab redaktə
crontab -eMövcud cron-ları görmək
crontab -lBütün cron-ları silmək
crontab -rCron environment
PATH boş olur
Cron-da $PATH default-dir - başqa script lazımdırsa tam yol verin.
Environment variables
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin
MAILTO=hamza@sayt.az
0 2 * * * /usr/local/bin/backup.shOutput və error
STDOUT email-ə
Default MAILTO user-ə göndərilir. Output görsənmir.
Log fayla yazmaq
0 2 * * * /backup.sh >> /var/log/backup.log 2>&1STDOUT + STDERR log fayla.
Output göstərməmək
0 2 * * * /backup.sh > /dev/null 2>&1cron yerləri
User crontabs
/var/spool/cron/crontabs/ - hər user-in öz crontab faylı.
System cron
/etc/crontab - sistem crontab. User-i təyin etmək olar.
/etc/cron.d/
Hər tətbiqin öz cron faylı qoymaq üçün.
Drop-in qovluqlar
- /etc/cron.hourly/
- /etc/cron.daily/
- /etc/cron.weekly/
- /etc/cron.monthly/
Buradakı script-lər avtomatik müvafiq tezliklə işləyir.
WordPress wp-cron
Default DB-əsaslı
WordPress wp-cron.php hər ziyarətçi istəyəndə işləyir - səhifə yavaşlayır.
Real cron-a keçirmək
*/15 * * * * curl https://sayt.az/wp-cron.phpwp-config.php-də: define(DISABLE_WP_CRON, true);
Backup cron
Sadə MySQL backup
0 2 * * * mysqldump -u root database > /backup/db_$(date +\%Y\%m\%d).sqlDiqqət: % işarəsi cron-da escape edilməlidir (\%).
cron alternativləri
systemd timers
Modern Linux-da cron alternativi - daha qabaqcıl xüsusiyyətlər.
at command
Bir dəfə müəyyən vaxtda işləmək - cron təkrarlanan üçündür.
cron izah edən alətlər
crontab.guru
"30 4 1,15 * 1-5" yazın - aydın izahı görsənir.
cron debug
Log-larda baxmaq
/var/log/syslog və ya /var/log/cron - cron icrası qeyd olunur.
Manual test
Komanda terminal-da işləyirmi - əvvəlcə sınayın. Sonra cron-a qoyun.
Hostinq.az-da cron
cPanel-də
cPanel → "Cron Jobs" - GUI ilə cron əlavə et. Common intervals: hər dəqiqə, hər 5 dəqiqə, hər saat.
VPS-də
Tam SSH-də crontab -e ilə idarə.
Hostinq.az hosting - cron jobs hazır.