Разделы сайта
Выбор редакции:
- Создание субтитров в программе Subtitle Workshop
- Лазеротерапия (лазерная терапия)Аппарат лазерный терапевтический "Матрикс" Чего лечит аппарат лазерной терапии матрикс
- Накрученные подписки и мошенничество в Telegram Подписчики для телеграмм канала
- Специальность "Инфокоммуникационные технологии и системы связи" (бакалавриат) Инфокоммуникационные технологии и системы связи 11
- Одноклассники: как открыть мою страницу
- Как передать показания счетчика воды в казани Портал госуслуг рт показания счетчиков
- Вывод части изображения html спрайт
- Настройка дополнительных реквизитов и дополнительных сведений номенклатуры 1с дополнительные реквизиты и сведения отличия
- Что делать, когда нет регистрационных данных
- Запрос на выборку данных (формулы) в MS EXCEL Эксель выборка по условию макрос
Реклама
Cron — запуск программ пользователя в указанное время. Настройки Cron: особенности, пошаговая инструкция и отзывы Cron расписание |
(Задания по расписанию) служит для настройки выполнения команд по расписанию или в строго назначенное время. С помощью CronTab
Вы можете задать определенное время, и точно в это время выполнится указанная Вами команда. Сконфигурировать CronTab
можно таким образом, что задача будет выполняться раз в месяц
, день
, час
и ежеминутно
или, например, каждые 10 минут
. Также можно комбинировать, к примеру, Вам необходимо первые 2 часа выполнять задание раз в час, затем следующие 2 часа не выполнять. Также одним из удобств является возможность отправки результатов выполнения заданий на email. Для этого нажмите на соответствующую надпись и введите email. Мастер заданийПервое знакомство с Cron для нас начинается с открытия Мастера заданий . С помощью мастера можно без каких-либо серьезных знаний администрирования настроить время выполнения скриптов, просто выбирая из выпадающих списков определенную комбинацию. Также необходимо ввести путь к скрипту или команду, которая будет выполняться в Cron . Давайте посмотрим пример запуска скрипта, написанного на языке PERL , который необходимо запускать каждые 5 минут . После нажатия на кнопку , под основным окном Cron появится новая запись с Вашей первой конфигурацией. Количество таких записей не ограничено. Теперь у нас есть первое задание, которое мы можем включить /выключить , изменить или удалить с помощью кнопок, расположенных справа, напротив каждого из заданий: Включить/выключить задание; Ручная настройка CronTab.Также в разделе есть ручная настройка, позволяющая настраивать время запуска скрипта в привычном виде, для тех, кто знаком с Cron . Время, интервалМинуты могут быть от 0
до 59
Можно конфигурировать CronTab
для выполнения задач не только в определенное Примеры*/5
*
*
*
*
- запускать команду каждые пять минут */1
*
*
*
*
/usr/bin/php ~/site.ru/public_html/test.php
- запуск каждую минуту php-скрипта test.php КомандаНеобходимо задать путь до скрипта от домашнего каталога В наших материалах посвященных Ubuntu Server время от времени затрагивается вопрос выполнения каких либо задач по расписанию. Чтобы не объяснять каждый раз одно и тоже мы решили создать данный материал, который должен помочь системным администраторам освоить и эффективно использовать планировщик задач в Linux. В Ubuntu Server в качестве планировщика задач используется cron - планировщик с интерфейсом командной строки. Он является важной частью системы и начинает функционировать сразу после установки, исполняя различные системные задачи. Наша цель - поставить его себе на службу, тем более это не так сложно как кажется. Предусмотрено два типа расписаний cron : пользовательское и системное. Отличаются они тем, что первое создается пользователями и исполняется с учетом пользовательских прав, второе используется в административных или системных целях и может быть запущено от имени любого пользователя. Чтобы создать или изменить пользовательское расписание наберите команду: Crontab -e При первом запуске утилита предложит выбрать редактор, мы рекомендуем выбирать mcedit (требует установленного mc), либо другой редактор, с которым вы умеете работать. Формат строк расписания имеет вид: Минута час день месяц день_недели команда
Значения минут, часов, дней можно указывать следующим образом:
Рассмотрим следующий пример записи: 0 8-19/2 * * 1 /home/ivanov/test Она означает что каждый второй час с 8 до 19 (8, 10,12,14,16) по понедельникам запускать скрипт test в домашнем каталоге Иванова. Сразу хотим предостеречь вас от распространенной ошибки, при указании периодического исполнения все даты должны быть указаны явно, звездочка обозначает полный диапазон значений, а не их отсутствие. Например если вам требуется исполнять некий скрипт каждый час с 10 до 15 неправильно будет: * 10-15 * * * /home/ivanov/test Данная строка приведет к запуску скрипта каждую минуту в диапазоне с 10 до 15 часов. Правильно будет: 0 10-15 * * * /home/ivanov/test Данная запись позволит запускать скрипт в начале каждого часа указанного диапазона. Кроме даты можно использовать ряд специальных строк:
Так для ежедневного исполнения нашего скрипта каждую полночь можно написать: @midnight /home/ivanov/test Завершив составление расписания сохраняем файл и выходим из редактора. Пользовательское расписание будет сохранено в /var/spool/cron/crontabs под именем текущего пользователя. Для системных и административных задач предусмотрен файл /etc/crontab синтаксис записей в нем отличается наличием дополнительного значения - пользователя, от чьего имени будет запущено задание: Минута час день месяц день_недели пользователь команда Пример такой записи: 0 19 * * 1-5 root /etc/backup Согласно которой в 19:00 с понедельника по пятницу будет запускаться скрипт /etc/backup от имени пользователя root . Данный файл также содержит системные расписания, поэтому к его редактированию следует подходить с осторожностью. Все системные и административные задания следует размещать именно в нем. Как видим cron достаточно прост в использовании, но в тоже время предоставляет богатые возможности по настройке расписаний в Ubuntu Server. Надеемся данная статья поможет администраторам освоить данный инструмент. MIN HOUR DOM MON DOW CMD Таблица: Поля и допустимые диапазоны Crontab (синтаксис Linux Crontab) 1. Планирование задач в течение определённого времениОснова использования cron – выполнение задач в определённое время, как показано ниже. Это будет выполнять скрипт полного резервного копирования (full-backup) 10 июня в 8.30. Пожалуйста, обратите внимание, что поле времени использует 24-часовой формат, Так что 8 АМ – 8, 8 РМ – 20 часов. 30 08 10 06 * /home/developer/full-backup
2. Расписание задач для более частого выполнения (например, дважды в день)Следующий скрипт использует дополнительное резервное копирование дважды в день каждый день. В этом примере выполняется дополнительное резервное копирование (incremental-backup) в 11:00 и в 16:00 каждый день. Значения через запятую в поле указывают, что команда должна быть выполнена в каждое указанное время. 00 11,16 * * * /home/developer/bin/incremental-backup 00 – 0-ая минута (начало часа) 11, 16 – 11 и 16 часов * - каждый день * - каждый месяц * - каждый день недели 3. Расписание работы в течение определённого интервала времени (например, только в будние дни)Если вы хотите, чтобы подпрограммы выполнялись в течение каждого часа с определённым интервалом времени, используйте следующее. Подпрограмма Cron для каждого дня в течение рабочих часов Этот пример каждый день проверяет состояние базы данных (включая выходные) в течение рабочих часов с 9 утра до 6 вечера. 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 утра до 6 вечера. 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 @yearly /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space Просмотр root записей crontab Залогиньтесь в качестве root пользователя (su - root) и выполните crontab-l как показано ниже. Root@dev-db# crontab -l no crontab for root Чтобы посмотреть файлы других пользователей, залогиньтесь в качестве root пользователя и и используйте -u { имя пользователя} -l как показано ниже. Root@dev-db# crontab -u username -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 @yearly /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 written crontab: installing new crontab Редактирование root записей crontab Залогиньтесь как root пользователь (su - root) и сделайте crontab -e , как показано ниже. Root@dev-db# crontab -e Редактирование записей crontab-файла другого пользователя Чтобы отредактировать запись crontab другого пользователя Linux, залогиньтесь в под root и используйте -u { имя пользователя} –е, как показано ниже. Root@dev-db# crontab -u username -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 января каждого года. @yearly /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 "day started" 11. Как выполнить команду Linux после каждой перезагрузки, используя @reboot?Используя ключевое слово @reboot , будет выполняться указанная команда каждый раз после загрузки системы. @reboot CMD 13. 12. Как отключить/перенаправить исходящую почту Crontab, используя ключевое слово MAIL?По умолчанию crontab отправляет выходные (output) задачи пользователю, который установил эту задачу. Если вы хотите перенаправить их другому пользователю, добавьте или обновите переменную MAIL в crontab, как показано ниже. Developer@dev-db$ crontab -l MAIL="developer" @yearly /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space Если вы хотите, чтобы почта вообще не отправлялась, т.е прекратить отправку выходных файлов crontab, добавьте или обновите переменную MAIL в crontab, как показано ниже. 13. Как выполнять задачи Linux Cron кажду секунду, используя CrontabВы не можете настроить выполнение cron на каждую секунду. Потому что минимальная единица выполнения cron – минута. В обычном сценарии нет необходимости запускать выполнение cron каждую секунду. 14. Указание переменной PATH в CrontabВо всех вышеприведённых примерах мы указывали абсолютный путь команды Linux или скрипта оболочки, которые должны быть выполнены. Например, вместо указания /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 annual-maintenance */10 * * * * check-disk-space 15. Установка Crontab из Cron-файлаВместо прямого редактирования файла crontab вы можете добавить, все записи в cron-файл. Если в файле есть эти записи, вы можете выгрузить или установить их в cron, как показано ниже. developer@dev-db$ crontab -l no crontab for developer $ 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 @yearly /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space В системе Linux автоматический запуск заданий выполняется демоном crond , а составлять расписания для автоматического запуска заданий могут не только администратор системы, но и пользователи. Как работает crondПринцип работы демона crond прост. После запуска (как правило, при загрузке системы) демон просыпается каждую минуту и проверяет, не запланирован ли запуск в эту минуту каких-либо программ. Если такие программы находятся, демон запускает их и отправляет по электронной почте сообщения пользователям, запланировавшим запуск. Составление расписания заданийСоставление расписания - задача несложная. Расписание размещается в отдельном файле crontab . В каждой строке файла помещается задание, которое должно быть запущено в определенное время. Формат записей файла crontabЧасть time-date (время-дата) состоит из пяти числовых полей, разделенных пробелами и определяющих время запуска задания: Для удобства заполнения указанных полей введены следующие правила:
Примеры времени-датыНесколько примеров заполнения полей времени-даты: 0 1 * * * Запуск задания ежедневно в 1.00 пополуночи 30 14 * * 0 Запуск задания по воскресеньям в 2.30 пополудни 0 23-7/2,8 * * * Запуск задания каждые 2 часа с 23.00 до 7.00 и в 8.00 0 12 * 1 mоn Запуск задания в полдень каждого понедельника января каждого года 0 12 2 feb * Запуск задания в полдень второго февраля каждого года Поле commandПоле command (команда) отделено от полей времени-даты одним или несколькими пробелами и простирается до конца строки. Команды обрабатываются оболочкой /bin/sh . Например, следующая запись в файле crontab предусматривает ежедневный запуск программы /usr/sbin/backup в 1.00 пополуночи: 0 1 * * * /usr/sbin/backup Некоторым командам (например, mail) требуется ввод информации с устройства стандартного ввода. Это указывается при помощи знака процента (%). Первый такой знак обозначает начало стандартного ввода, каждый последующий - смену строки. Редактирование файла crontabФайл crontab редактируется командой crontab -e . Возможны два подхода:
Запись из файлаДля записи содержимого файла crontab из другого файла необходимо создать этот другой файл (в привычном текстовом редакторе) со всеми записями, из которых должен состоять файл crontab . Это могут быть, к примеру, следующая запись: 0 1 * * * /usr/sbin/backup Созданному файлу следует присвоить подходящее имя, например сron jobs . После того, как указанный файл создан, его содержимое необходимо записать в файл crontab командой: ~$ crontab cronjobs Содержимое файла cronjobs полностью заменит содержимое файла crontab данного пользователя. Используя этот метод, любой пользователь может редактировать свой файл crontab . Суперпользователь обладает особым правом редактировать файлы crontab остальных пользователей. Редактирование чужого файла указывается флажком -u . Например, по команде: ~# crontab -u oleg cronjobs файл cronjobs записывается как файл crontab пользователя oleg . Непосредственное редактирование файла crontabКоманда crontab позволяет избежать многоступенчатой операции с созданием отдельного файла. Если ввести команду crontab с опцией -е, можно редактировать файл crontab непосредственно. По умолчанию по команде crontab с опцией -е файл crontab загружается в редактор . Редактор Vi - мощный, хотя и сложный инструмент, популярный среди опытных пользователей Unix . Тот, кто предпочитает другой редактор, например Xedit , может установить соответствующее значение переменной среды EDITOR: ~$ export EDITOR=xedit После этого ввод команды приводит к открытию файла crontab в указанном редакторе. Подобно тому, как обычный пользователь может редактировать собственный файл crontab , суперпользователь может редактировать файлы crontab остальных пользователей. Для этого используется команда: ~# crontab -u user-name -e Просмотр файла crontabДля просмотра содержимого файла crontab вводится команда: Суперпользователь может просматривать файлы crontab остальных пользователей: ~# crontab -u username -l Удаление файла crontabДля удаления содержимого своего файла crontab пользователь вводит команду: Суперпользователь может удалять файлы crontab остальных пользователей. В Unix-подобных ОС существует возможность запускать программы пользователя в указанное им время. Для этого используется планировщик задач cron, который получает инструкции от пользователей и производит выполнение любых задач по полученным сценариям. Наши клиенты могут пользоваться данной возможностью для выполнения периодических задач. Как настроить cron средствами панели ISPmanager 5Настраивайте cron-сценарии через панель управления в разделе Система → Планировщик Чтобы добавить новые задания, нажмите «Создать» . Откроется интерактивный редактор cron-сценариев: ![]() В поле «Команда» укажите полный путь до скрипта или команду, которая должна выполняться (для системных команд полный путь можно не указывать). Например, полный путь до файла script.pl, размещенного в корне площадки, будет выглядеть так: /var/www/u12345/data/www/script.pl Убедитесь, что файл, который нужно запустить, имеет права на чтение+исполнение (r+x) для владельца файла. Поменять права на нужные можно командой: Chmod 750 script.pl В поле «Описание» вы можете сделать пометку, чтобы не забыть что выполняет данный сценарий Базовый - вы выбираете один из перечисленных вариантов в строке «Выполнить» : каждый час, ежедневно, еженедельно, ежемесячно, ежегодно, при запуске. Экспертный - гибкая настройка периодичности запуска: минуты, часы, дни месяцев, месяцы, дни недели (0 - воскресенье). Формат ввода: * - все минуты; */n - каждые n минут; n - с началом минуты n; a,b,c-e - с началом минут a,b,c,d,e Примеры базового режима настройки периодичности запуска: ![]() ![]() Примеры экспертного режима настройки периодичности запуска:
![]()
![]()
![]() Когда все поля будут заполнены (кроме поля «Описание» , оно необязательное), нажмите «ОК» . Отправка отчетов на email о выполнении сценарияДля настройки уведомлений укажите email, на который будут приходить уведомления о выполнении сценария. Для этого перейдите в раздел «Планировщик» ![]() Нажмите на кнопку «Настройки» и в поле «Адрес e-mail» укажите email, на который необходимо отправлять уведомления о выполнении сценариев. ![]() В настройках сценария убедитесь, что не стоит галочка напротив поля «Не отправлять отчет по e-mail» . ![]() Как настроить cron по sshКонфигурирование сценариев cron производится через unix shell. Определите, какие программы нужно запустить, и узнайте полные пути к ним на диске сервера. Для этого перейдите с помощью команды cd в каталог, где находится запускаемая программа, и узнайте полный путь к этому каталогу командой pwd. Путь может выглядеть так - /home/u12345/scripts/script.pl. Убедитесь, что файл имеет права на чтение+исполнение (r+x) для пользователя, от которого вы запускаете скрипт. Поменять права на нужные можно командой chmod 750 script.pl 750 - полные права владельцу файла, группе – чтение и исполнение, остальным – доступ запрещен. Выполните команду crontab -e – планировщик будет менять план пользователя, от имени которого вы запускаете cron. При первом запуске будет предложен выбор текстового редактора. Выберите редактор с которым вы уже знакомы. Как пример мы рассмотрим текстовый редактор vi. После ввода команды вы окажетесь в текстовом редакторе vi (п), где сможете вводить текст сценария для cron.
Задания для cron пишутся по одному в строке. После каждой строки, в том числе после последней или единственной, обязательно нажмите enter, иначе задания работать не будут. Задание выглядит как строка. В начале находятся пять обязательных полей, разделенных пробелами, для указания периодичности задания. Далее следует команда, которую нужно запускать: поле1 поле2 поле3 поле4 поле5 команда Значения первых пяти полей:
Для каждого конкретного параметра можно задать несколько значений через запятую. Например, если в поле «часы» написать 1,4,22, то задание будет запущено в 1 час ночи, в 4 часа утра и в 22 часа. Можно задать интервал - 4-9 будет означать, что программу нужно запускать каждый час в период с 4 до 9 часов включительно. Символ «*» означает «все возможные значения». Звездочка «*» в поле «часы» будет означать «запускать каждый час». Символ «/» служит для указания дополнительной периодичности задания. Например, «*/3» в поле «часы» означает каждые три часа. Если определены поля «день месяца» и «день недели» (не равны *), то такое задание будет выполняться в каждый указанный день недели независимо от дня месяца. 13 13 10 * 5 /home/u12345/script.pl такая команда будет выполняться в 13 часов 13 минут каждую пятницу и каждое 10 число месяца, даже если 10 число не совпадет с пятницей. Cron позволяет запускать сценарии при загрузке системы - укажите @reboot в начале сценария вместо периодичности запуска: @reboot /home/u12345/script.pl Так выглядит простейший сценарий cron: 0 */3 * * 2,5 /home/u12345/script.pl Скрипт /home/u12345/script.pl будет автоматически запускаться каждые три часа во вторник и в пятницу. Введите такой сценарий в редакторе vi, выйдите с сохранением результатов редактирования. Задание будет выполнятся с указанной периодичностью, если вы не допустили ошибок. Cron сообщает об ошибках в сценарии: /tmp/crontab.xxxxxxx: 1 строка, 9 символов crontab: installing new crontab "/tmp/crontab.xxxxxxx":1: bad minute crontab: errors in crontab file, can"t install Do you want to retry the same edit? Посмотреть список уже установленных в cron сценариев можно командой crontab -l: Bash-2.05b$ crontab -l 0 */3 * * 2,5 /home/u12345/script.pl Если вам нужно запускать какую-то программу один раз в день, выбирайте ночное время. С с 2 до 8 часов ночи нагрузка на серверы минимальна. Если программа требует больших ресурсов, ночью она выполнится быстрее, чем днём. Примеры использования cron
Как запустить PHP-скрипт по расписаниюЗапускайте скрипты на языке PHP в указанное время с желаемой периодичностью с помощью PHP-CLI интерпретатора.Так может выглядеть команда на запуск скрипта script.php - /usr/bin/php -q $HOME/script.php> /dev/null 2>&1 Поскольку не все PHP-программы могут работать через CLI SAPI без предварительной модификации, можно запускать их через wget: /usr/bin/wget -O /dev/null -q http://mysite.tld/cron.php?action=123 Указывайте путь до утилит полностью, от корня файловой системы. Если в скрипте используются функции require, include, в которых указаны относительные пути - в начале выполняемого скрипта используйте вызов функции chdir(), которая задаст текущую рабочую директорию. Или воспользуйтесь встроенной командой cd. @reboot cd /home/u12345 && ./script.pl Как получить сообщения об ошибках от программ, запускаемых cronВы можете получать сообщения об ошибках при выполнении программ, чтобы полностью контролировать работу периодически запускаемых заданий. Для этого в начале cron-сценария поместите такую строку: MAILTO=адрес@домен.ru , где «адрес@домен.ru» - это адрес электронной почты, куда придут уведомления. Чтобы указать несколько адресов, введите их через запятую.Вы будете получать письмо с тем, что выводят скрипты каждый раз, когда cron запускает задачу. Если вы напишете скрипт, который будет печатать строчку «Hello, world» и поставите его на выполнение через cron - вы будете получать письмо со строкой «Hello, world» каждый раз, когда cron запустит такой скрипт. Если текст, выводимый скриптом, вам не нужен - добавьте в конец строки-сценария для cron символы > /dev/null 2>&1 Полностью строка для cron будет выглядеть так: 0 1 * * * /usr/bin/php -q $HOME/script.php > /dev/null 2>&1 Проверьте корректность синтаксиса скриптов, которые вы устанавливаете на выполнение через cron. Скрипты могут содержать ошибку и работать неодинаково при запуске через веб-сервер и через cron, и так далее. Перед запуском проверьте скрипт командой в unix shell: /usr/bin/php -l script.php Если ошибок в скрипте нет, вы увидите сообщение «No syntax errors detected in script.php». Как запустить сценарий от имени пользователяДля повышения безопасности системы скрипт запускают от имени определённого пользователя. Убедитесь, что у пользователя есть права на запуск скрипта. Укажите перед основной частью скрипта su -l имя_пользователя , от которого хотите запустить скрипт. Например, для запуска сервера TeamSpeak3 от имени пользователя ts3server используется следующая команда: Su -l ts3server ./ts3server_startscript.sh start Скрипт расположен в домашнем каталоге пользователя, куда мы автоматически попадаем при авторизации. ОграниченияДля программ, которые запускаются через cron, действуют такие же ограничения по потребляемым ресурсам, как для процессов, запускаемых пользователем в unix shell. Речь идет об ограничениях на время выполнения программы, количеству доступной памяти, ограничениях на размер файлов и так далее. |
Популярное:
Мощный конвертер HTML файлов в Doc, PDF, Excel, JPEG, Text Использование программы Total HTML Converter![]() |
Новое
- Лазеротерапия (лазерная терапия)Аппарат лазерный терапевтический "Матрикс" Чего лечит аппарат лазерной терапии матрикс
- Накрученные подписки и мошенничество в Telegram Подписчики для телеграмм канала
- Специальность "Инфокоммуникационные технологии и системы связи" (бакалавриат) Инфокоммуникационные технологии и системы связи 11
- Одноклассники: как открыть мою страницу
- Как передать показания счетчика воды в казани Портал госуслуг рт показания счетчиков
- Вывод части изображения html спрайт
- Настройка дополнительных реквизитов и дополнительных сведений номенклатуры 1с дополнительные реквизиты и сведения отличия
- Что делать, когда нет регистрационных данных
- Запрос на выборку данных (формулы) в MS EXCEL Эксель выборка по условию макрос
- Временная временная одноразовая электронная почта Temp Email, mail sites, регистрация в социальных сетях