Автоматизиране на задачи с Cron

Като сървъри в сигурни центрове за данни в Европа. Open облак VPS / VDS сървър на бърз SSD за 1 минута!

Най-добър уеб хостинг:
- ще предпазят данните от неоторизиран достъп в защитена Европейския център за данни
- ще плати най-малко в Bitcoin.
- Той ще постави вашата дистрибуция

- защита от DDoS-атаки
- безплатно архивиране
- Uptime 99,9999%
- DPC - TIER III
- ISP - етап I

Подкрепа в руските 24/7/365 работи с юридически и физически лица. Сега трябва 24 ядро ​​и 72 Gb RAM. Моля ви!

Нашите конкурентни цени доказват, че най-евтиният хостинг, че не знаеш!

За броени минути, изберете конфигурация, заплати и CMS на VPS е готова.
Връщане на парите - за 30 дни!

Банкови карти, електронни валута през QIWI терминали, Webmoney, PayPal, Novoplat и други.

Задайте въпрос 24/7/365 поддръжка

Намерете отговорите в нашата база данни, както и да отговарят на препоръките на

Cron за днес е един от най-разпространените начини за започване на автоматизация на процеси в Linux. Cron - демон, който работи във фонов режим и ви позволява да планирате и автоматизиране на стартирането на различни (включително свързаните с поддръжка на сървър) задачи. Той използва конфигурационен файл кронтаб (кронтаб).

Инсталиране на Cron

В момента почти всички дистрибуции идват с предварително инсталиран по подразбиране демон Cron. Ако Cron не е инсталиран по подразбиране, той може бързо да се инсталира със следните команди:

Sudo актуализация ап-да
ап-да инсталирате Cron

Cent OS / Red Hat Linux:

Sudo актуализация Yum
Sudo Yum инсталирате Vixie-Cron crontabs

След като инсталацията приключи, се уверете, че Cron работи във фонов режим:

Sudo / sbin / chkconfig crond на
Sudo / sbin / услуга старт crond

Основния синтаксис

Да разгледаме следния пример за проблем, който трябва да започне планиране:

<Минуты> <Часы> <Дни_месяца> <Месяцы> <Дни_недели>

Примери за използване Cron

Този раздел предоставя примери за планиране на най-често срещаните задачи.

Да командват автоматично изпълнява всяка минута:

За да стартирате команда всеки дванадесети минути на час (08.12, 09.12, и т.н.):

Отбор, който ще работи на всеки 15 минути:

За да командват автоматично извършва всеки ден в 4 часа сутринта:

Командата за изпълнение на всеки вторник в 4 часа сутринта:

График може да се споделя. Това означава, че вместо да 0,15,30,45 може да се използва:

Обърнете внимание на обхвата на 2-6. Този синтаксис ще стартира команда с 2.00 до 6.00 сутринта на всеки 15 минути.

Както можете да видите, че е изключително мощна и гъвкава Cron синтаксис да се уточни практически всеки период от време.

Конфигуриране на Cron

Разработване на график на задачите, трябва да го поставите в правилния момент в системата, така че демонът може да намери и да я прочетете. Като цяло, тези точки в системата донякъде, но обикновено такава диаграма се поставят в старица потребител. Както вече споменахме, старица - е конфигурационен файл Cron демон, който съдържа график старта на специфични команди и програми. Този файл се намира в / Var / макара / Cron / кронтаб, но това не е прието да редактирате директно. За включване в желаната програма файл се използва от съответната команда - кронтаб. Това е, за да редактирате кронтаб файл, можете просто да напишете:

Ясно кронтаб Можете да използвате следната команда:

Потребител с повишени привилегии могат да редактират кронтаб друг потребител с помощта на:

кронтаб -u <пользователь> -д

заключение Cron

първо отворете старица:

след това да го редактирате, както следва:

SHELL = / хамбар / Баш
HOME = /
За mailto = "example@some_user.com"
#This е коментар
* * * * * Ехо "Run тази команда на всяка минута"

Тази линия се завръща Run тази команда на всяка минута. Демонът Cron ще изпрати такова заключение до пощата example@some_user.com. Това, разбира се, не е много удобно. Както бе споменато по-рано, този извод може да бъде изпратен в лог файл, за да се избегнат подобни ситуации.

За да направите това, просто добавете:

* * * * * Ехо "Run тази команда на всяка минута" >> file.log

Забележка: Героите >> изпращат продукцията в лог. Допълнителни дневници могат да бъдат използвани / сътрудничество / нула със следната PHP-скрипт работи във фонов режим.

* * * * * / ЮЕсАр / хамбар / PHP /var/www/domain.com/backup.php> / сътрудничество / нула 2> 1

Ограничаване на достъпа до Cron

За да се ограничи достъпа до демона Cron, ще трябва да използвате файловете и /etc/cron.allow /etc/cron.deny. да се отвори (позволи) или затворена (отрече) достъп до даден потребител, просто трябва да добавите потребителско име в съответния файл. По подразбиране, демон Cron е достъпна за всички потребители. За да блокирате достъпа до всички потребители и да предостави достъп само до примера на потребителя, трябва да се използват следните команди:

ехо ALL >> / и т.н. / cron.deny
ехо пример >> / и т.н. / cron.allow

Както можете да видите, първо трябва да се откаже достъп до всички потребители, и след това да добавите името на потребителя (в този пример, например), за да се даде възможност на файлове.

намаляване Текст Cron

Командите за Cron, които можете да използвате клавишни комбинации за по-бързо планиране. Главна намаление:

  • @hourly (замени 0 *)
  • @daily (замества 0 0 * * *)
  • @weekly (замени 0 * 0 * 0)
  • @monthly (замества 0 0 1 * *)
  • @yearly (замества 0 0 1 1 *)
  • @reboot (командни започва, когато сървърът започва).

Забележка. Не всички версии на Крон може да се справи този синтаксис (това се отнася за по-стари версии); използване на съкращения забравяйте да проверите изпълнението на команди.

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

@reboot ехо "Система за стартиране"