Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / расписание Cron на ближайшие полгода / 8 сообщений из 8, страница 1 из 1
17.09.2012, 20:49
    #37961184
_S_T_O_N_E_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
Господа!
Cron'ом пользуюсь недавно. Встала такая задача:
есть определённое расписание, которое выполняется каждый день по будням в определённое время.
Необходимо ограничить данное задание на полгода. То есть надо сделать так, чтоб в ближайшие полгода оно выполнялось, а потом перестало.
Как правильно ограничить маску времени в crontab?
...
Рейтинг: 0 / 0
17.09.2012, 21:06
    #37961198
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
_S_T_O_N_E_,

В четвертом поле перечислить месяцы, в которых должно выполняться задание. Правда, таким образом еще через полгода выполнение задания возобновится.

Еще можно задать запуск через полгода скрипта, который модифицирует кронтаб таким образом, чтобы исключить выполнение задания.
...
Рейтинг: 0 / 0
17.09.2012, 21:08
    #37961200
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
Ну можно и в самом скрипте делать такую проверку.
...
Рейтинг: 0 / 0
17.09.2012, 21:11
    #37961206
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
Код: sql
1.
2.
3.
# min hh24  dd mm weekday  cmd
05  22  *  *  1,2,3,4,5  /home/user/bin/myjob.sh
04  22  18  02  *         /bin/crontab -l | grep -v |  /home/user/bin/myjob.sh | /bin/crontab 
...
Рейтинг: 0 / 0
17.09.2012, 21:16
    #37961210
_S_T_O_N_E_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
Добавлю - конкретные месяцы неизвестны, нужно просто с момента добавления задания, чтоб оно выполнялось в течение полугода.
...
Рейтинг: 0 / 0
17.09.2012, 21:18
    #37961213
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
один pipe лишний, попал случайно один лишний

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
$ crontab -l
#
04 22 * * 1,2,3,4,5  /home/mytest.sh
00 22 18 02 * /bin/crontab -l | grep -v /home/mytest.sh | /bin/crontab 
$  /bin/crontab -l | grep -v /home/mytest.sh
#
$ /bin/crontab -l | grep -v /home/mytest.sh | /bin/crontab 
$ crontab -l
#


p.s. При проведении эксперимента ни один cron не пострадал
...
Рейтинг: 0 / 0
17.09.2012, 22:11
    #37961259
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
_S_T_O_N_E_Добавлю - конкретные месяцы неизвестны, нужно просто с момента добавления задания, чтоб оно выполнялось в течение полугода.
Добавте два комента
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
$ cat crongen.sh 
#!/bin/sh
cmd=/bin/crontab

# test output
T=echo  
cmd="cat -"

#  now
mon=`date +%m`
day=`date +%d`

# calculate
case $mon in
01|02|03|04|05|06)
		mon=`expr $mon + 6`
		;;
07|08|09|10|11|12)
		mon=`expr $mon - 6`
		;;
*)
	mon=99
esac

export mon day

# make new crontab
(
$T crontab -l
echo "04 22 * * 1,2,3,4,5  /home/mytest.sh"
echo "00 22 $day $mon * /bin/crontab -l | grep -v /home/mytest.sh | /bin/crontab"
) | $cmd
...
Рейтинг: 0 / 0
18.09.2012, 10:45
    #37961710
olexande
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расписание Cron на ближайшие полгода
А что мешает "в самом задании" создать проверку, нужно-ли оно? после - самоудалиться?
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / расписание Cron на ближайшие полгода / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]