Atpakaļ uz blogu
Maijs 23, 2026Ceļveži

Kā iestatīt cron uzdevumus Linux serverī

Cron sintakse, crontab rediģēšana, piemēri un žurnālieraksts automatizācijai VPS.

Kā iestatīt cron uzdevumus Linux serverī

Cron ir standarta Linux plānotājs skriptu un komandu palaišanai pēc grafika — rezerves kopijas, kešatmiņas tīrīšana, sertifikātu pārbaude u.c.

Cron sintakse

Katrā rindā ir pieci laika lauki un komanda:

bash
# ┌──────── minute (0-59)
# │ ┌────── hour (0-23)
# │ │ ┌──── day of month (1-31)
# │ │ │ ┌── month (1-12)
# │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
# │ │ │ │ │
# * * * * * command

# Every day at 3:00 AM:
0 3 * * * /usr/local/bin/backup.sh

# Every 15 minutes:
*/15 * * * * /usr/local/bin/check.sh

Crontab rediģēšana

crontab -e pašreizējam lietotājam. Sistēmas uzdevumiem — ar sudo:

bash
# Edit your user crontab
crontab -e

# Edit root crontab
sudo crontab -e

# List current jobs
crontab -l
sudo crontab -l

Bieži piemēri

  • 0 2 * * * — ikdienas rezerves kopija plkst. 2:00
  • 0 */6 * * * — ik pēc 6 stundām
  • 0 0 * * 0 — katru svētdienu pusnaktī
  • */5 * * * * — ik pēc 5 minūtēm (uzmanīgi ar slodzi)
  • @reboot /path/script.sh — pēc servera restarta
  • @daily /usr/bin/certbot renew --quiet — ikdienas SSL pārbaude

Žurnāli un atkļūdošana

Novirziet izvadi uz žurnāla failu, lai redzētu kļūdas:

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# View cron execution in system log:
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

Padomi

  • Cron komandās izmantojiet absolūtās ceļus
  • Pirms crontab pārbaudiet skriptu manuāli
  • MAILTO=email crontab kļūdu e-pastiem (ja pasts konfigurēts)
  • Sarežģītiem scenārijiem apsveriet systemd timer
  • Neizpildiet smagus uzdevumus katru minūti