15%

Alexhost ви дава желания

Извършете проучването и спечелете награди

25.12.2024

Как да прегледате и изброите Cron Jobs с помощта на Crontab

Утилитата cron в Unix-подобни операционни системи позволява на потребителите да планират задачи (команди или скриптове) да се изпълняват автоматично в определени времена или интервали. Независимо дали поддържате сървър или управлявате автоматизирани задачи на локална машина, cron е основен инструмент за системни администратори и разработчици.

Тази статия обяснява как да прегледате и изброите cron задачи с помощта на командата

crontab
, за да ви помогне да управлявате планираните задачи ефективно.

Какво е командата Crontab?

Crontab (съкратено от “cron таблица”) е файл, който дефинира планирани задачи за cron демон. Всеки потребител в система, включително потребителя

root
, може да има своя собствена crontab, която указва кои задачи трябва да бъдат автоматизирани.

Запис в crontab следва следния синтаксис:


* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)

Тази структура позволява прецизен контрол върху кога се изпълняват задачите, което прави cron мощен инструмент за автоматизация.

Как да изброите Cron задачи с Crontab

Командата

crontab
е основната утилита за управление на cron задачи. По-долу са най-често срещаните начини за изброяване на cron задачи.

1. Прегледайте своите собствени Cron задачи

За да покажете cron задачи за текущо влезлия потребител, изпълнете:

crontab -l

Тази команда изброява всички планирани cron задачи за текущия потребител. Ако няма съществуващи cron задачи, може да върне празен изход или съобщение, указващо, че няма дефинирана crontab.

Примерен изход:


# m h dom mon dow command
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh

В този пример:

  • Скрипт за резервно копие се изпълнява ежедневно в полунощ.
  • Скрипт за почистване се изпълнява всяка неделя в 2:30 ч.

2. Изброяване на Cron задачи за друг потребител

Ако имате

sudo
или root права, можете да видите cron задачи за друг потребител, използвайки флага
-u
:

sudo crontab -l -u username

Заменете

username
с действителното потребителско име. Например:

sudo crontab -l -u john

Това показва всички cron задачи, планирани за посочения потребител.

3. Изброяване на системни Cron задачи

В допълнение към специфичните за потребител cron задачи, има системни cron задачи, планирани от системата или root потребителя. Те обикновено се съхраняват в:

  • /etc/crontab
  • /etc/cron.d/
  • /var/spool/cron/crontabs/

За да видите основния системен crontab файл, изпълнете:

cat /etc/crontab

Примерен изход:


SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Тази конфигурация планира часови, дневни, седмични и месечни системни поддръжки.

За да изброите допълнителни системни cron файлове, изпълнете:

ls /etc/cron.d/

Всеки файл в тази директория може да дефинира допълнителни планирани задачи за системни услуги.

4. Преглед на Cron задачи в /var/spool/cron

Файловете crontab, специфични за потребителя, обикновено се съхраняват в

/var/spool/cron/crontabs
. За да ги изброите:

ls /var/spool/cron/crontabs

За да видите съдържанието на crontab файла на конкретен потребител:

cat /var/spool/cron/crontabs/username

Това предоставя същия изход като

crontab -l -u username
.

Редактиране на Cron задачи

За да редактирате или добавите cron задачи за текущия потребител, изпълнете:

crontab -e

Това отваря crontab файла в текстовия редактор по подразбиране. След запазване и излизане, промените влизат в сила незабавно.

Пример: изпълнявайте скрипт всеки ден в 3:00 ч:

0 3 * * * /home/user/script.sh

Често срещани команди за изброяване на Crontab

  • Изброяване на cron задачите на текущия потребител:
    crontab -l
  • Изброяване на cron задачите на друг потребител (изисква sudo):
    sudo crontab -l -u username
  • Преглед на системния crontab:
    cat /etc/crontab
  • Изброяване на cron файлове в /etc/cron.d/:
    ls /etc/cron.d/
  • Изброяване на потребителски crontabs:
    ls /var/spool/cron/crontabs

Заключение

Прегледът и изброяването на cron задачи с помощта на

crontab
е прост, но мощен начин за управление на планирани задачи в Unix-подобни системи. Независимо дали се занимавате с лична автоматизация или системни поддръжки, разбирането на тези команди гарантира, че вашите задачи се изпълняват надеждно и по график.

Като овладеете cron, можете да автоматизирате повтарящи се задачи, да управлявате резервни копия и да поддържате последователно изпълнение на скриптове в цялата си среда.

15%

Alexhost ви дава желания

Извършете проучването и спечелете награди