Crontab в Linux: ПРИМЕРИ за планиране на задачи
Какво е crontab?
Крон е кръстен на гръцката дума „Хронос“, която се използва за време. Това е системен процес, който автоматично ще изпълнява задачи според конкретния график. Това е набор от команди, които се използват за изпълнение на редовни задачи за планиране. Crontab означава „cron таблица“. Той позволява да се използва планировчик на задачи, който е известен като cron за изпълнение на задачи.
Crontab е и името на програмата, която се използва за редактиране на този график. Той се управлява от crontab файл, конфигурационен файл, който показва команди на обвивката, които да се изпълняват периодично за конкретния график.
Защо да използвате Cronjobs?
Ето причините да използвате Cronjobs в Linux:
- Помага на ОС да направи планирано архивиране на лог файлове или база данни.
- Изтрийте старите регистрационни файлове
- Archive и чисти таблици на база данни
- Изпращайте всеки имейл с известия, като например бюлетини, имейл за изтичане на паролата
- Редовно почистване на кеширани данни
- Crontab е идеална опция за автоматизиране на Unix задачи.
- Използва се за автоматизиране на поддръжката на системата
Как да използвам cron в Linux?
Linux система pack има полезен планировчик на задачи, наречен crontab. Crontab е популярен, защото може да бъде планиран да изпълнява автоматизиран процес като root. Следователно наличието на автоматизиран процес, работещ като root, прави системните промени по-лесни. Просто трябва да промените задачата и след това да изчакате, докато задачата бъде стартирана отново.
Linux Crontab формат
Crontab на Linux има шест полета. Първите пет полета определят часа и датата на изпълнение, а 6-то поле се използва за изпълнение на командата.
Синтаксис на Crontab:
[Minute] [hour] [Day_of_the_Month] [Month_of_the_Year] [Day_of_the_Week] [command]
- Астрици (*): Използвайте за съпоставяне
- Определете диапазон: Позволява ви да дефинирате диапазон с помощта на тире като 1-10 или 30-40 или ян-мар, пн-ср.
- Дефинирайте множество диапазони: Позволява ви да дефинирате различни диапазони с команди, разделени като апр-юни,окт-дек.
Как да добавите/промените Crontab
Потребителят може да редактира своите crontab задачи с помощта на следната команда crontab:
$ crontab -u -e
Горната команда ще отвори личната конфигурация на crontab на вашата компютърна система, която може да се редактира с помощта на вашия текстов редактор по подразбиране.
Няма нужда да рестартирате вашия crontab, тъй като той ще вземе вашите промени автоматично, когато използвате следната команда.
$ crontab -l
За да премахнете вашите crontab задачи, използвайте следната команда.
$ crontab -r
За да добавите или актуализирате задание в crontab, използвайте дадената по-долу команда.
crontab -e
Команда за редактиране на crontab на друг потребител
crontab -u username -e
Как да изброите Crontab
Команда за преглед на записи в crontab на текущия потребител
crontab -l
Команда за преглед на записи в crontab на конкретен потребител:
crontab -u username -l
Важни примери за Crontab
Ето някои важни примери за Crontab
Descriptйон | Команда |
---|---|
Команда Cron за извършване на различни задачи по планиране. Дадената по-долу команда се изпълнява в 7 сутринта и 5 часа всеки ден. |
0 7,17 * * * /scripts/script.sh |
Команда за изпълнение на cron след всеки 5 минути. |
*/5* * * * * /scripts/script.sh |
Командата за планиране на Cron ви помага да изпълните задачата на всеки Monday в 5 сутринта. Тази команда е полезна за извършване на седмични задачи като почистване на системата. |
0 5 * * mon /scripts/script.sh |
Команда изпълнете вашия скрипт на интервал от 3 минути. |
*/3 * * * * /scripts/monitor.sh |
Команда за планиране на cron, който се изпълнява за определен месец. Тази команда за изпълнение на задачи се изпълнява през месеците февруари, юни и септември. Понякога трябва да планираме задача, за да изпълним избрана месечна задача. |
* * * feb,jun,sep * /script/script.sh |
Команда за изпълнение в избрани дни. Този пример ще изпълнява всеки Monday и сряда от 5ч. |
0 17 * * mon,wed /script/script.sh |
Тази команда позволява на cron да се изпълнява всяка първа събота на месеца. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Команда за изпълнение на скрипт за интервал от 6 часа, така че да може да бъде конфигуриран, както е показано по-долу. |
0 */6 * * * /scripts/script.sh |
Тази команда планира задача, която да се изпълни два пъти Monday и вторник. Използвайте следните настройки, за да го направите. |
0 4,17 * * mon,tue /scripts/script.sh |
Командата планира cron да се изпълнява след всеки 15 секунди. |
* * * * * /scripts/script.sh * * * * * sleep 15; /scripts/script.sh |
Команда за планиране на задачи на годишна база. @годишно времево клеймо е= на „0 0 5 1 *“. Това изпълнява задачата на петата минута на всяка година. Можете да го използвате, за да изпратите новогодишни поздравления. |
@yearly /scripts/script.sh |
Командни задачи за изпълнение на месечна база. @monthly timestamp е подобен на „0 0 1 * *“. Този команден израз позволява изпълнението на задача в първата минута на месеца. |
@monthly /scripts/script.sh |
Команда за изпълнение на множество задачи с помощта на един cron. |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
Команда за планиране на задачи за изпълнение на седмична база. @weekly timestamp е подобен на „0 0 4 * слънце“. Това се използва за изпълнение на седмични задачи като почистване на системата и др. |
@weekly /bin/script.sh |
Задачата ще бъде планирана за ежедневно изпълнение. @daily timestamp е подобен на „0 2 * * *“. Той изпълнява задачата във втората минута на всеки ден. |
@daily /scripts/script.sh |
Позволява изпълнение на задачи на всеки час. @hourly timestamp е подобен на „0 * * * *“. Тази команда изпълнява задача в първата минута на всеки час. |
@hourly /scripts/script.sh |
Позволява изпълнение на задачи при рестартиране на системата. Изразът @reboot е полезен за онези задачи, които системата иска да изпълни при стартиране на вашата система. Това е полезно за автоматично стартиране на фона на задачите. |
@reboot /scripts/script.sh |
Резюме:
- Крон е кръстен на гръцката дума „Хронос“, която се използва за време.
- Cronjobs помага на ОС да направи планирано архивиране на лог файлове или база данни.
- Системният пакет на Linux има полезен планировчик на задачи, наречен crontab, който може да бъде планиран да изпълнява автоматизиран процес като root.
- Crontab на Linux има шест полета. Първите пет полета определят часа и датата на изпълнение, а 6-то поле се използва за изпълнение на командата.