Cron jobs: Linux-da avtomatik tapşırıqlar

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.sh

Hər gün gecə 02:00

0 2 * * * /usr/local/bin/backup.sh

Hər həftə bazar günü

0 3 * * 0 /usr/local/bin/cleanup.sh

Hər ay 1-ində

0 4 1 * * /usr/local/bin/monthly-report.sh

Hər 5 dəqiqədə

*/5 * * * * /usr/local/bin/monitor.sh

crontab idarə etmək

Crontab redaktə

crontab -e

Mövcud cron-ları görmək

crontab -l

Bütün cron-ları silmək

crontab -r

Cron 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.sh

Output 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>&1

STDOUT + STDERR log fayla.

Output göstərməmək

0 2 * * * /backup.sh > /dev/null 2>&1

cron 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.php

wp-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).sql

Diqqə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.

Paylaş: