Какво е crontab?
Крон е кръстен на гръцката дума "Chronos", която се използва за времето. Това е системен процес, който автоматично ще изпълнява задачи според конкретния график. Това е набор от команди, които се използват за изпълнение на редовни задачи за планиране. Crontab означава „cron table“. Той позволява да се използва планировчик на задачи, който е известен като cron за изпълнение на задачи.
Crontab е и името на програмата, която се използва за редактиране на този график. Той се задвижва от crontab файл, конфигурационен файл, който показва команди на черупката, които да се изпълняват периодично за конкретния график.
В този урок за операционна система ще научите:
- Какво е crontab?
- Защо да използвам CRONJOB?
- Как да използвам cron в Linux?
- Формат на Linux Crontab
- Как да добавя / променя Crontab
- Как да изброя Crontab
- Важни примери за Crontab
Защо да използвам Cronjobs?
Ето причините за използването на Cronjobs в Linux:
- Помага на OS да направи резервно архивиране на регистрационни файлове или база данни.
- Изтрийте старите регистрационни файлове
- Архивирайте и прочистете таблиците на базата данни
- Изпратете всички имейли с известия, като например бюлетини, имейл с изтичане на паролата
- Редовно почистване на кеширани данни
- Crontab е идеалният вариант за автоматизиране на задания в Unix.
- Използва се за автоматизиране на поддръжката на системата
Как да използвам cron в Linux?
Linux системният пакет има полезен планировчик на задачи на име 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]
- Astrics (*): Използвайте за съвпадение
- Определяне на диапазон: Позволява ви да определите диапазон с помощта на тире като 1-10 или 30-40 или jan-mar, mon-wed.
- Дефиниране на множество диапазони: Позволява ви да дефинирате различни диапазони с команди, разделени като apr-jun, oct-dec.
Как да добавя / променя 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
Описание | Команда |
Команда Cron за извършване на различни задания за планиране. Дадена команда се изпълнява в 7:00 и 17:00 всеки ден. |
0 7,17 * * * /scripts/script.sh |
Команда за изпълнение на cron след всеки 5 минути. |
*/5* * * * * /scripts/script.sh |
Командата за планиране на Cron ви помага да изпълнявате задачата всеки понеделник в 5 часа сутринта. Тази команда е полезна за извършване на седмични задачи като почистване на системата. |
0 5 * * mon /scripts/script.sh |
Команда стартирайте вашия скрипт на интервал от 3 минути. |
*/3 * * * * /scripts/monitor.sh |
Команда за насрочване на cron, към който се изпълнява за определен месец. Тази команда за изпълнение на задачи се изпълнява през февруари, юни и септември. Понякога трябва да планираме задача, за да изпълним избрана месечна задача. |
* * * feb,jun,sep * /script/script.sh |
Команда за изпълнение в избрани дни. Този пример ще работи всеки понеделник и сряда в 17:00. |
0 17 * * mon,wed /script/script.sh |
Тази команда позволява на cron да изпълнява в първата събота на всеки месец. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Команда за стартиране на скрипт за интервал от 6 часа, за да може да бъде конфигуриран както по-долу. |
0 */6 * * * /scripts/script.sh |
Тази команда планира задача, която да се изпълни два пъти в понеделник и вторник. Използвайте следните настройки, за да го направите. |
0 4,17 * * mon,tue /scripts/script.sh |
Командата планира изпълнение на cron след всеки 15 секунди. |
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh |
Команда за планиране на задачи на годишна база. @yearly timestamp е = до "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 |
Резюме:
- Крон е кръстен на гръцката дума "Chronos", която се използва за времето.
- Cronjobs помага на ОС да направи резервно архивиране на регистрационни файлове или база данни.
- Linux системният пакет има полезен планировчик на задачи на име crontab, който може да бъде насрочен за стартиране на автоматизиран процес като root.
- Crontab на Linux има шест полета. Първите пет полета определят часа и датата на изпълнение, а 6-тото поле се използва за изпълнение на команди.