телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Настройка на Task Scheduler - Crontab. Лесна настройка на cron при инсталация на linux Crontab

, | |

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

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

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

Ubuntu/Debian:

sudo apt-get актуализация
sudo apt-get инсталирайте cron

Cent OS/Red Hat Linux:

sudo yum актуализация
sudo yum инсталирайте vixie-cron crontabs

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

sudo /sbin/chkconfig crond включен
sudo /sbin/service crond start

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

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

5 * * * * curl http://www.google.com

Синтаксисът за планиране на различни задачи може да изглежда объркващ в началото. Всъщност е много кратко и просто, просто трябва да разберете как да го прочетете. Всеки ред е разделен на графика и команда. Почти всяка команда може да бъде въведена в реда. Графикът е разделен на 5 различни полета за планиране в следния ред:

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

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

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

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

Така че командата да се изпълнява на всяка дванадесета минута от часа (08.12, 09.12 и т.н.):

За да изпълнявате командата на всеки 15 минути:

0,15,30,45 * * * *

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

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

Графикът може да бъде разделен. Тоест, вместо 0.15,30,45 можете да използвате:

Моля, обърнете внимание на диапазона 2-6. Този синтаксис ще изпълнява указаната команда от 2:00 сутринта до 6:00 сутринта на всеки 15 минути.

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

Настройка на cron

След като сте разработили график на задачите, трябва да го поставите на правилното място в системата, така че демонът да може да го намери и прочете. По принцип има няколко такива точки в системата, но като правило такава графика се поставя в crontab на потребителя. Както вече споменахме, crontab е конфигурационен файл за cron демон, който съдържа график за изпълнение на определени команди и програми. Този файл се намира в /var/spool/cron/crontab, но не е обичайно да се редактира директно. За добавяне към файла необходимите програмиИзползва се едноименната команда – crontab. Тоест, за да редактирате файла crontab, можете просто да въведете:

Тази команда ще се отвори текстов редактор, с който можете да направите всички необходими промени; Всяка нова задача трябва да се въвежда на нов ред.

За да видите crontab без да правите промени, използвайте командата:

Можете да изчистите crontab, като използвате следната команда:

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

crontab -u<пользователь>-е

cron изход

След като задачата приключи, cron изпраща изхода до имейл адреспотребител (освен ако изходът не трябва да бъде изпратен в журнала или /dev/null). Имейл адресът може да бъде зададен ръчно чрез добавяне на параметъра MAILTO в горната част на crontab. Можете също така да посочите обвивката, която да стартирате, пътя до двоичния файл на cron и вашата домашна директория. За това:

първи отворен crontab:

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

SHELL=/bin/bash
НАЧАЛО=/
MAILTO=”example@some_user.com”
#Това е коментар
* * * * * echo „Изпълнявайте тази команда всяка минута“

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

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

* * * * * echo ‘Изпълнявайте тази команда всяка минута’ >> file.log

Забележка: символите >> ще насочат изхода към дневника. В допълнение към регистрационните файлове можете също да използвате /dev/null, като използвате следния PHP скрипт, работещ във фонов режим.

* * * * * /usr/bin/php /var/www/domain.com/backup.php > /dev/null 2>&1

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

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

МИН ЧАС DOM MON DOW CMD

Таблица: Crontab полета и валидни диапазони (Linux Crontab синтаксис)

1. Планиране на задачи за определено време

Основата на използването на cron е изпълнението на задачи в определено време, както е показано по-долу. Това ще стартира скрипт за пълно архивиране на 10 юни в 8:30 сутринта.

Моля, обърнете внимание, че полето за час използва 24-часов формат, така че 8 сутринта е 8, 20:00 е 20 часа.

30 08 10 06 * /home/developer/full-backup

  • 30-30-та минута
  • 08 – 08 сутринта
  • 10-10 ден
  • * - Всеки ден от седмицата

2. Планирайте задачите да се изпълняват по-често (напр. два пъти на ден)

Следният скрипт използва допълнителни архивиранедва пъти на ден всеки ден. Този пример изпълнява инкрементално архивиране в 11:00 и 16:00 всеки ден. Стойностите, разделени със запетаи в полето, показват, че командата трябва да се изпълнява във всеки определен момент.

00 11.16 * * * /home/developer/bin/incremental-backup

00 – 0-та минута (начало на час) 11, 16 – 11 и 16 часа * - всеки ден * - всеки месец * - всеки ден от седмицата

3. Планирайте работа за определен интервал от време (например само през делничните дни)

Ако искате рутинните процедури да се изпълняват на всеки час в определен интервал от време, използвайте следното.

Cron рутина за всеки ден през работното време

Този пример проверява състоянието на базата данни всеки ден (включително през почивните дни) в работно време от 9 до 18 часа.

00 09-18 * * * /home/developer/bin/check-db-status

00 - 0-та минута (началото на часа) 09-18 – 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 (часа) * - всеки ден * - всеки месец * - всеки ден от седмица

Cron рутина за всеки работен ден през работното време

Този пример проверява състоянието на базата данни всеки делничен ден (с изключение на събота и неделя) от 9 сутринта до 18 часа.

00 09-18 * * 1-5 /home/ramesh/bin/check-db-status

00 - 0-та минута (началото на часа) 09-18 – 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 (часа) * - всеки ден * - всеки месец 1-5 - понеделник, вторник, сряда, четвъртък и петък (всяка седмица)

4. Как да видите записи в Crontab?

Вижте текущите файлове на Crontab на потребителя.

За да видите вашите crontab-l файлове отгоре сметка unix, направете следното.

Developer@dev-db$ crontab -l @годишно /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space

Преглед на коренни записи в crontab

Влезте като root потребител (su - root) и стартирайте crontab-l, както е показано по-долу.

Root@dev-db# crontab -l няма crontab за root

За да видите файловете на други потребители, влезте като root и използвайте -u (потребителско име) -l, както е показано по-долу.

Root@dev-db# crontab -u потребителско име -l @monthly /home/username/monthly-backup 00 09-18 * * * /home/username/check-db-status

5. Как да редактирате записи в crontab?

Редактиране на текущи потребителски cron записи.

За да редактирате записи, използвайте cronab -e, както е показано по-долу. По подразбиране текущите записи на потребителя в crontab ще бъдат редактирани.

Developer@dev-db$ crontab -e @годишно /home/developer/centos/bin/annual-maintenance */10 * * * * /home/developer/debian/bin/check-disk-space ~ "/tmp/crontab .XXXXyjWkHw" 2L, 83C

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

~ "crontab.XXXXyjWkHw" 2L, 83C написан crontab: инсталиране на нов crontab

Редактиране на основни записи в crontab

Влезте като root потребител (su - root) и направете crontab -e, както е показано по-долу.

Root@dev-db# crontab -e

Редактиране на записи в crontab на друг потребител

За да редактирате запис в crontab на друг потребител на Linux, влезте като root и използвайте -u (потребителско име) -e, както е показано по-долу.

Root@dev-db# crontab -u потребителско име -e @monthly /home/username/fedora/bin/monthly-backup 00 09-18 * * * /home/username/ubuntu/bin/check-db-status ~ ~ ~ "/tmp/crontab.XXXXyjWkHw" 2L, 83C

6. Cron изпълнение всяка минута

В идеалния случай може да не е необходимо да планирате изпълнение на cron всяка минута. Но разбирането на този пример ще ви помогне да разберете другите примери, описани в тази статия.

Bash * * * * * CMD

* - означава възможна единица - тоест всяка минута от всеки час през цялата година. Освен това използването на * директно ще бъде повече полезна функцияв следните примери.

Посочването на */5 в полето минути означава на всеки 5 минути. Посочването на 0-10/2 в полето за минути означава на всеки 2 минути за първите 10 минути. По този начин тази конвенция може да се използва във всичките 4 полета.

7. Изпълнявайте фонови Cron задачи на всеки 10 минути

Използвайте следното, ако искате да проверявате дисковото си пространство на всеки 10 минути.

*/10 * * * * /home/ramesh/check-disk-space

Тази задача изпълнява посочената команда за проверка на диска на всеки 10 минути за една година. Но може да се наложи да извършите проверката само в работно време или обратно. Примерите по-горе показват как да направите това.

Вместо да посочваме стойностите в 5-те полета, можем да ги посочим с ключова дума, както е показано по-долу.

Има специални условия, при които вместо 5 полета можете да използвате @, последвано от ключова дума - като рестартиране, полунощ, годишно, почасово.

Cron специални ключови думи и тяхното значение

8. Планирайте работа за първата минута на всяка година, като използвате @yearly

Ако искате задачата cron да се изпълнява в първите минути на всяка година, можете да използвате ключовата дума @yearly, както е показано по-долу. В този случай системата ще работи годишно Поддръжка, използвайки скрипта за годишна поддръжка в 00:00 часа на 1 януари всяка година.

@годишно /home/developer/red-hat/bin/annual-maintenance

9. Изпълнявайте задачи всеки месец, като използвате ключовата дума @monthly

Подобно е на @yearly по-горе. Но командата се изпълнява ежемесечно. Командата ще извърши архивирането в 00:00 на първо число на всеки месец.

@monthly /home/ramesh/suse/bin/tape-backup

10. Изпълнявайте задачи всеки ден, като използвате @daily

Използването на ключовата дума @daily ще създаде ежедневен лог файл за изчистване на регистрационния файл в 00:00 всеки ден.

@daily /home/developer/arch-linux/bin/cleanup-logs "денят започна"

11. Как да стартирате Linux команда след всяко рестартиране с помощта на @reboot?

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

@rebootCMD

13. 12. Как да деактивирам/пренасочвам изходящата поща на Crontab с помощта на ключова дума MAIL?

По подразбиране crontab изпраща изхода от задачите на потребителя, който е инсталирал задачата. Ако искате да ги пренасочите към друг потребител, добавете или актуализирайте променливата MAIL в crontab, както е показано по-долу.

Developer@dev-db$ crontab -l MAIL="разработчик" @годишно /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space

Ако искате изобщо да предотвратите изпращането на поща, т.е. да спрете да изпращате изходни файлове на crontab, добавете или актуализирайте променливата MAIL в crontab, както е показано по-долу.

13. Как да стартирате Linux Cron задачи всяка секунда с помощта на Crontab

Не можете да настроите cron да се изпълнява всяка секунда. Тъй като минималната единица за изпълнение на cron е минута. При нормален сценарий не е необходимо да се изпълнява cron всяка секунда.

14. Указване на променливата PATH в Crontab

Във всички горни примери ние посочихме абсолютен път Linux командиили shell скрипт, който да бъде изпълнен.

Например, вместо да посочите /home/developer/tape-backup, ако искате да посочите само tape-backup, добавете /home/developer към променливата PATH в crontab, както е показано по-долу.

Developer@dev-db$ crontab -l PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/developer @yearly year-maintenance */10 * * * * check-disk-space

15. Инсталиране на Crontab от Cron файл

Вместо директно да редактирате файла crontab, можете да добавите всички записи към файла cron. Ако файлът съдържа тези записи, можете да ги изхвърлите или инсталирате в cron, както е показано по-долу.

Забележка: Това ще създаде файл cron-file.txt във вашия crontab, който ще премахне предишните записи на cron. Така че, моля, бъдете внимателни, когато зареждате cron записи от cron-file.txt:

developer@dev-db$ crontab -l без crontab за разработчик $ cat cron-file.txt @yearly /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space developer@dev -db$ crontab cron-file.txt developer@dev-db$ crontab -l @годишно /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space

Полезен механизъм, който осигурява контрол върху изпълнението на процесите в linuxе планировчик на задачи или cron, файл crontabв директорията etc, използвайки този файл, се добавят скриптове и задачи, които можем да напишем за работеща система, например за контрол на операцията linuxсистеми по електронна поща

Cron– услугата демон се използва в linux/unixсистеми като планировчик на задачи. Демонът ви позволява периодично да стартирате скриптове за изпълнение.

Създадените файлове се поставят или в директорията:
/usr/spool/cron/crontabs или /var/spool/cron/tabs
Трябва само да ги редактирате, като стартирате crontab –e
В зависимост от периода на изпълнение, файловете могат да бъдат поставени в следните директории:
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly

Създаване на cron задания
Създайте задача в crontabизглежда като попълване на шест задължителни полета, тяхното значение е следното:
1. Минути – число от 0-59
2. Часове – цифри от 0-23
3. Ден от месеца – число от 1 до 31
4. Номер на месеца в годината – число от 1-12
5. Ден от седмицата – число от 0-7
0-неделя, 1-понеделник, 2-вторник, 3-сряда, 4-четвъртък, 5-петък, 6-събота
За всеки от горните параметри могат да бъдат зададени следните стойности:
а) Разделени със запетаи - 3,7,9 (съответно в полето за ден от месеца 3,7,9)
б) Дефис – 3-9 (в полето за час това ще означава изпълнение на 3,4,5,6,7,8,9)
c) * - ще се изпълни във всички възможни стойности
d) / - задаване на допълнителни периоди на задача - */8 в полето за минути, ще се изпълнява на всяка осма минута

Как да стартирате задача cronкогато системата се стартира. За да стартирате скрипт, когато системата се зарежда LinuxИзползва се ключовата дума reboot. Например:

Освен това можете да използвате следните ключови думи:
@годишно – същото като 0 0 1 1 * (веднъж годишно)
@daily – същото като 0 0 * * * (веднъж на ден)
@hourly – същото като 0 * * * * (веднъж на час)

Команди за управление на crontab
- преглед на задачите за текущия акаунт
кронтаб –л
- преглед на задачите за желания акаунт
crontab –u потребителско име –l
- Редактиране на cron задачи
crontab –е
- Редактиране на cron задачи за даден потребител
crontab –u потребителско име –e

Примери за cron задачи:
Изпълнете задачата в 7 сутринта всеки ден
0 7 * * * root /home/scripts/mount.sh
Изпълнете задачата в 17:30 всеки ден
30 17 * * * root /home/scripts/mount.sh
Изпълнете задачата всеки месец на първия ден в 0 часа и 0 минути
0 0 1 * * root /home/scripts/mount.sh
Изпълнявайте задачата на всеки 4 часа
* * /4 * * * root /home/scripts/mount.sh
Изпълнете задача при зареждане Linux
@reboot root /home/scripts/mount.sh

Допълнителна настройка на cron
За получаване на отчет за задачите cronможете да дефинирате променлива MAIL в началото cronсценарий
MAIL=mail.mail.local
По подразбиране писмото ще съдържа всички съобщения, извеждани от скрипта, за да предотвратите това, трябва да добавите > /dev/null 2>&1 към задачата cron на скрипта;
За да деактивирате получаването на съобщения от cron, трябва да оставите променливата MAIL ненастроена
ПОЩА=””
Възможно е да се определи пътя до файла със скрипта, като се използва например променливата PATH
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/scripts, в crontab ще ви позволи да пишете в реда с параметри на заданието
@reboot root mount.sh
Изпълнение на скриптове чрез cron с помощта на php интерпретатора
* 1 * * * /usr/local/bin/php – q mount.sh > /dev/null 2>&1
/usr/local/bin/wget –O /dev/null –q http://"site.com/cron.php?action=123"

cron– програма демон, предназначена да изпълнява задачи в определено време или на определени интервали. За да редактирате задания, използвайте помощната програма crontab.

Списък

Не можете да промените файл с график, като просто го отворите в текстов редактор. За да го редактирате, трябва да използвате командата crontab -e.

Прост пример за файл с график. Правене на екранна снимка на всеки час:

SHELL =/ bin/ bash MAILTO =потребителско име 0 * * * * scrot

основни настройки

Избор на среда за изпълними задачи:

SHELL =/bin/bash

Име на потребителя, до когото ще бъде изпратено съобщението за изпълнение на задачата:

MAILTO = потребителско име

Вместо име можете да използвате и имейл адрес:

MAILTO =example@ example.org

Настройки по избор

Задайте потребителската директория:

НАЧАЛО =

Задаваме директориите на изпълнимите файлове:

ПЪТ =/ sbin:/ bin:/ usr/ sbin:/ usr/ bin

Ние регистрираме дисплея, ако скриптът, стартиран чрез cron, трябва да използва графики:

ДИСПЛЕЙ =:0,0

Избор кога да завършите задача

Началният час е представен, както следва:

минута час ден_от_месец месец ден_от_седмица команда

Символът "*" означава произволна стойност.

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

Допълнителни cron променливи

Управление с crontab

Добавяне на файл с график:

Crontab име_на_файл_на_файл

Отпечатайте съдържанието на текущия файл с график:

Кронтаб -л

Изтриване на текущия файл с график:

Кронтаб -р

Редактиране на текущия файл с график (при първото стартиране ще се покаже списък с поддържани текстови редактори):

Crontab -e

Този ключ ви позволява да извършвате горните действия за конкретен потребител:

Crontab -u потребителско име

Моля, обърнете внимание, че -u може да се използва само когато стартирате crontab като суперпотребител.

Примери

Всяка минута:

* * * * *

Всеки час, използвайки cron променливи:

@почасово ~/script.sh

Всеки ден в 03:15 стартирайте скрипта:

15 3 * * * ~/ script.sh

Всеки понеделник:

0 0 * * 1

На всеки четен час:

* */ 2 * * *

Същото като по-горе, но изписано изцяло:

* 0 ,2 ,4 ,6 ,8 ,10 ,12 ,14 ,16 ,18 ,20 ,22 * * *

На всеки 10 минути:

*/ 10 * * * *

Нова година :

59 23 31 дек *

Всеки делничен ден от 22:00 ч.

0 22 * * 1 -5

Стартиране на програма с графична обвивка (GUI); Всяка минута ще се показва съобщение с текст „Работи!“:

0 -59 * * * * DISPLAY =:0 gdialog --msgbox "Работи\!" 25 20 > /dev/null

* където DISPLAY=:0 - номер на монитора

GUI версии

GTK+

Има много полезна програма: Планирани задачи(gnome-график). Това е графичен интерфейс за cron и ще бъде полезен за начинаещи, тъй като описва времето за изпълнение на задача на ясен език. например:

15 * * * *

всеки час по 15 минути;

* 0 * * *

всяка минута, между 00:00 и 00:59.

Cron се използва за автоматизиране на изпълнението на зададени задачи на сървъра. Той работи на Linux и е чудесен за стартиране на програма или скрипт за определено време и честота, като ги планирате предварително.

Настройване на Cron Job Scheduler

Задачите, които трябва да бъдат изпълнени, са написани под формата на редове, в които е необходимо да се посочи периодът на включване и команда, указваща какво точно трябва да се стартира. За всяка задача се отделя отделен ред. Например:

30 3 * * 2 /вашата директория/myscript.pl

На по-разбираем на обикновен потребителЕзикът тук е обозначен: минути/часове/ден от месеца/ден от седмицата/команда. Този примерозначава, че в 3:30 сутринта, всеки вторник, Cron трябва да стартира файл, наречен youdirectory/myscript.pl.

Ако изброите стойностите, разделени със запетаи, например в елемента „Ден“ напишете 2,4,6, тогава файлът ще се стартира в определеното време всеки вторник, четвъртък и събота.

Ако посочите стойности, разделени с тире, задачата ще бъде изпълнена в посочения интервал от време. Например, ако зададете 3-7 в елемента „Часовник“, файлът ще се изпълнява на всеки час от 3 до 7 сутринта.

Можете също да зададете честотата, като напишете в колоната за време, например в „Часове” /12. Тогава задачата ще се изпълнява на всеки 12 часа.

Важно е да знаете, че "*" не означава липса на стойност, а всички възможни стойности. Тоест, ако зададете * * * * 1 /yourdirectory/myscript.pl, като искате файлът да се изпълнява всеки понеделник, тогава това ще се окаже напълно неправилно и файлът ще се изпълнява всяка минута.

Друга важна характеристика е необходимостта да се посочи абсолютен път до файла. И също така файлът трябва да има такива права за достъп, за да може поне да бъде стартиран.

От представените примери става ясно, че този планировчик на задачи в Linux е много удобен инструмент, така че ви предлагаме да се запознаете по-подробно с някои от неговите функции.

Най-простият и често срещан метод за работа с Cron е административният панел на хостинга. Въпреки това, различни панелиКонфигурирането на Cron се случва по различни начини.

Понякога се случва хостингът да не предоставя възможност за работа с Cron през административния панел. В такава ситуация се използва SSH протокол. Използвайки го, вие се свързвате със сървъра с помощта на програмата PuTTY и въвеждате задачи в командния ред.

За да започнете, въведете командата:

Crontab –e

След това ще бъдете отведени до vi - текстов редактор, но тези редактори може да са различни за различните хостинг доставчици. Ако не сте запознати с работата във vi, можете да въведете командата: EDITOR=ee crontab –e, която ще ви пренасочи към по-прост и по-интуитивен редактор.

Ако хостингът не поддържа редактора, който се отваря, ще трябва да разберете как работи vi:

  • за да въведете текст, трябва да преминете към едноименния режим, като натиснете бутона „i“;
  • за да излезете от режима, използвайте бутона “Esc”;
  • За да изтриете символ в режим на въвеждане на текст, използвайте клавишите “Esc” и след това “x”;
  • за да запишете и излезете от файла, натиснете “:wq”;
  • V задължителеннатиснете клавиша "Enter" в края на всеки ред, това е необходимо, за да работи Cron;
  • За да видите съществуващи задачи в Cron, въведете командата crontrab -l.

Примери за Cron задачи на Linux

- Изпълнявайте задачата на всеки 6 часа по 30 минути всеки ден от всеки месец:

30 */6 * * * /вашата директория/myscript.pl

— Изпълнявайте задачата след всяко рестартиране:

@reboot/yourdirectory/myscript.pl

— Изпълнете задачата на 15-то число всеки месец в 00:00:

0 0 15 * * /вашата директория/myscript.pl

PHP файлове

За да изпълнявате PHP скриптове, обикновено използвате интерпретатор. Универсални инструкцииспоред работата му не, тъй като различните хостинг сайтове използват различен софтуер. В резултат на това WGET често се използва за изпълнение на PHP в Cron. Въведете следния запис:

1 2 * * 3 root wget -O - -q -t 1 http://mysite.com/file.php

Нека го разгледаме по-подробно:

  • "-O-" - не позволява на Cron да създава допълнителни файлове, като по този начин освобождава сървъра от ненужни боклуци, тъй като работата се извършва в конзолата;
  • “q” - операциите вече не се показват на екрана;
  • “t-1”—позволява само един опит за свързване.

Ограничения на Cron

Самият Cron има само едно ограничение - периодът на изпълнение на задачата. Ако претоварите вашия хостинг сървър, това може да попречи на Cron да работи повече от веднъж на всеки няколко минути или час. В допълнение, Cron е ограничен само от сървърни ресурси, като например: RAM, обеми на данни, време за изпълнение на команда и др.

Ако сървърът се рестартира, Cron ще запази всичките ви задачи, като се рестартира с него.

Докладвай

Cron има настройка за конфигуриране на известия за работата си електронна поща. Това е особено полезно, ако възникне грешка по време на работа. За да разрешите подобни известия по имейл, трябва да въведете следния ред в crontab:

MAILTO= [имейл защитен]

След MAILTO= се посочва необходимата поща. Можете да посочите няколко от тях наведнъж, като ги посочите разделени със запетаи. Сега, ако възникне грешка, ще бъдете информирани за нея. Освен това резултатите от скриптовете също ще бъдат изпратени на вашия имейл. Въпреки това, ако тази функция ви притеснява, можете да я деактивирате, като въведете командата > /dev/null 2>&1 в края на задачата.



Свързани публикации