Редактирование файла crontab с помощью shell скрипта

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
XaTTa6bl4
рядовой
Сообщения: 23
Зарегистрирован: 2008-08-01 15:32:44

Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение XaTTa6bl4 » 2008-08-26 19:25:55

Здравствуйте.

Есть скрипт, который запускается crontab'ом каждые 15 минут. В определенное время необходимо сделать так, чтобы он перестал выполняться.
Посоветуйте, как это сделать? (Сам скрипт трогать не желательно)
Появилась идея написать другой скрипт, который бы комментил/удалял строчку из crontab'a, и сам при этом запускался бы из того же crontab'a или at. :unknown:
Может быть есть способ проще?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение f_andrey » 2008-08-26 21:16:44

XaTTa6bl4 писал(а):Может быть есть способ проще?
Пояснее сформелировать задачу что значит запускаться каждые 15 минут, а в определенное время перестать выполнятся, что за время каким образом определено, может не верно выбран метод решения задачи?
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

XaTTa6bl4
рядовой
Сообщения: 23
Зарегистрирован: 2008-08-01 15:32:44

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение XaTTa6bl4 » 2008-08-27 10:54:56

Есть php-шный скрипт который выполняется по крону каждые 15 минут. Нужно сделать так чтобы в последний день месяца в 23.50 он перестал запускаться. И только дней через 10 он снова понадобится.

Раньше это делалось вручную:
1) В конце месяца в crontab'е комментили строку
2) Затем когда он снова становится нужен - строчку в кронтабе расскоменчивали.

Первый пункт хотелось бы автоматизировать.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение zingel » 2008-08-27 10:58:17

есть ли жизнь на марсе = можно ли убить крон по-крону
Z301171463546 - можно пожертвовать мне денег

ev
ст. лейтенант
Сообщения: 1325
Зарегистрирован: 2008-07-27 17:11:30
Откуда: Москва

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение ev » 2008-08-27 11:08:13

Нужно сделать так чтобы в последний день месяца в 23.50 он перестал запускаться. И только дней через 10 он снова понадобится.
убирать скрипт из крона нельзя, тогда он снова не запустится
ну или запускать еще второй скрипт, проверяющий не надо ли добавить задачу заново
имхо - изврат ;)

прощу в самом начале вызываемого пхп скрипта сделать некое условие, по которому скрипт пойдет либо дальше выполнятся либо нет

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение schizoid » 2008-08-27 11:42:29

а если по крону снимать бит выполняемости? типа chmod -x file.php ?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

XaTTa6bl4
рядовой
Сообщения: 23
Зарегистрирован: 2008-08-01 15:32:44

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение XaTTa6bl4 » 2008-08-27 12:51:04

Ну можно не только бит снимать... Можно и вообще файл перемещать в другую папку например... Я думал об этом, но хотелось бы какое-нить решение по красивее :cz2:

f_andrey :)
проходил мимо

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение f_andrey :) » 2008-08-27 17:18:23

XaTTa6bl4 писал(а):Есть php-шный скрипт который выполняется по крону каждые 15 минут. Нужно сделать так чтобы в последний день месяца в 23.50 он перестал запускаться. И только дней через 10 он снова понадобится.
Или я что то не понимаю, или в кроне уже нельзя указать дни выполнения скрипта диапазоном?

FreeDy
рядовой
Сообщения: 10
Зарегистрирован: 2008-08-27 11:08:32

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение FreeDy » 2008-08-27 17:33:26

Как-то так.

Код: Выделить всё

*/15     *     10-31     *     *     /path/to/script

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение dikens3 » 2008-08-27 21:51:14

zingel писал(а):есть ли жизнь на марсе = можно ли убить крон по-крону
Можно, скопировав другой crontab.

Код: Выделить всё

cp /path/newcrontab /etc/crontab
2) Затем когда он снова становится нужен - строчку в кронтабе расскоменчивали.
Задача не точная, либо определяйся точно, либо копируй новый crontab как я написал выше, а назад ручками, когда понадобится, числа 10... :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35267
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение Alex Keda » 2008-08-27 21:52:59

Код: Выделить всё

killall -1 cron
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение Morty » 2008-08-27 22:01:57

XaTTa6bl4 писал(а):Есть php-шный скрипт который выполняется по крону каждые 15 минут. Нужно сделать так чтобы в последний день месяца в 23.50 он перестал запускаться. И только дней через 10 он снова понадобится.

Раньше это делалось вручную:
1) В конце месяца в crontab'е комментили строку
2) Затем когда он снова становится нужен - строчку в кронтабе расскоменчивали.

Первый пункт хотелось бы автоматизировать.
думаю здесь нада точнее ставит задачу, тоесть чтобы нормально выполнит 1) нада задать и 2)
тоесть может в самом скрипте задать например
если сегодня дата 30 число то -> на выход , иначе запустить то и то.(либо опираться на то что создаеться временный фалик, если он есть то работаем, нет не рботаем, опятьже в самом мскрипте контролировать по датам когда создавать когда удалять фалик)
Но так как не ясно когда наступает момет когда он снова становится нужен то и решать такую задачу наверно Эйнштейну нада - теорией вероятности дабы определить этот момент

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение manefesto » 2008-08-28 9:48:21

блин...в скрипте написать условие

Код: Выделить всё

if .. then..else
Если дата такая-то, то не выполняем, иначе выполняем.
Вот и всё.
я такой яростный шо аж пиздеЦ
Изображение

XaTTa6bl4
рядовой
Сообщения: 23
Зарегистрирован: 2008-08-01 15:32:44

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение XaTTa6bl4 » 2008-08-28 11:34:41

Спасибо всем, за предложенные варианты.

Но так как не ясно когда наступает момет когда он снова становится нужен....
Этот момент даже мне не ясен... Это решаю не я, а руководство. И каждый раз по разному получается - иногда 10-го числа скрипт запускаем, иногда только 20-го, так что тут только вручную.
:smile:

ev
ст. лейтенант
Сообщения: 1325
Зарегистрирован: 2008-07-27 17:11:30
Откуда: Москва

Re: Редактирование файла crontab с помощью shell скрипта

Непрочитанное сообщение ev » 2008-08-28 11:52:24

уже многие сказали одно и тоже - просто в начале скрипта проверку сделать и все
проверку можно делать на значение в ldap или базе или еще где... хоть по приему sms :)
и не будет проблем ;)