The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Каким образом запустить скрипт через какое-то определенное в..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Каким образом запустить скрипт через какое-то определенное в..."  
Сообщение от zeiter email(ok) on 06-Сен-06, 18:34 
Нужно запустить автоматически скрипт через какое-то определенное время?
Возможно, что это будет единовременное действие, поэтому крон не подойдет,
разве что каким то образом задачу из крона потом бы удалить.

Подскажите, как это можно организовать?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Каким образом запустить скрипт через какое-то определенное в..."  
Сообщение от Ultimate on 06-Сен-06, 18:39 
>Нужно запустить автоматически скрипт через какое-то определенное время?
>Возможно, что это будет единовременное действие, поэтому крон не подойдет,
>разве что каким то образом задачу из крона потом бы удалить.
>
>Подскажите, как это можно организовать?

Если едновременное действие, то можно, к примеру:
sleep <время> ; /etc/script.sh

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Каким образом запустить скрипт через какое-то определенное в..."  
Сообщение от Nimdar (ok) on 06-Сен-06, 20:06 
Почему это крон не подойдёт?

15 18 7 9 4 /path/script

7 сентября, в четверг, в 18:15 выполнить скрипт.

Посмотри ещё at
man at

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Каким образом запустить скрипт через какое-то определенное в..."  
Сообщение от zeiter email(ok) on 07-Сен-06, 07:14 
>Почему это крон не подойдёт?
>
>15 18 7 9 4 /path/script
>
>7 сентября, в четверг, в 18:15 выполнить скрипт.
>
>Посмотри ещё at
>man at

Я сам изначально хотел через крон, только встала проблема,
как потом эти записи отработанных вызовов удалять из /etc/crontab
Ручками править - не решение.

"at" посмотрел, правда, бегло. Начал пробовать, так и ничего не понял.
кое-что получилось с batch, но так ничего и не понял.

Вот, что пробовал:

# batch <<!
> echo "HELLO"
> !
Job 1 will be executed using /bin/sh
# batch <<!
> echo now +1 minute "HI"
> !
Job 2 will be executed using /bin/sh
# atq
Date                            Owner           Queue   Job#
четверг,  7 сентября 2006 г. 10:16:00 (NOVST)   root            E       1
четверг,  7 сентября 2006 г. 10:16:00 (NOVST)   root            E       2

И все
Никакого более я так и не получил :(

>
>Если едновременное действие, то можно, к примеру:
>sleep <время> ; /etc/script.sh

Проста в использовании - это радует.
Надо будет опробовать, спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Каким образом запустить скрипт через какое-то определенное в..."  
Сообщение от seller on 07-Сен-06, 15:37 
>>"at" посмотрел, правда, бегло. Начал пробовать, так и ничего не понял.
>>кое-что получилось с batch, но так ничего и не понял.

Да чего там понимать...

Для примера:
echo file1 > /tmp/f1
echo file2 > /tmp/f2

Ставим задание на сегодня 16:00 (если уже больше 16:00, тогда at запустится завтра в указанное время).

# at 1600 <<!
> rm /tmp/f*
> !

Job 1 will be executed using /bin/sh

Можно проверить и так:

# at 1600 <<!
> echo Hello, this is at job.
> echo Seems it worked...
> !

Job 2 will be executed using /bin/sh

А после 16:00 смотрим свою почту и видим сообщение от at со всем выводом, который должен выводиться при выполнении работы, указанной для at, ибо (читаем в man at)

The user will be mailed standard error and standard output from his commands, if
any.  Mail will be sent using the command sendmail(8).  If at is executed
from a su(1) shell, the owner of the login shell will receive the mail.

Можно задавать конкретную дату так, как понимает at (1am tomorrow), или в формате POSIX. Читай man по этому поводу.

Batch - та же фигня, что и at, Только задачи выполняет, если
system load levels permit; in other words, when the load average drops below 1.5, or the value specified in the invocation of atrun.
Короче, если комп не загружен процессами по самое 1.5 :)

atq - собсно очередь задач,
atrm - удаление задач...
параметр -f указывает путь к выполняемому скрипту
-t - задание времени в формате POSIX
-m - выслать отчет на мыло, даже если скрипт никакого вывода и не выводил :))

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Каким образом запустить скрипт через какое-то определенное в..."  
Сообщение от zeiter email(ok) on 08-Сен-06, 06:57 
>
>Да чего там понимать...
>
>Для примера:
>echo file1 > /tmp/f1
>echo file2 > /tmp/f2
>
>Ставим задание на сегодня 16:00 (если уже больше 16:00, тогда at запустится
>завтра в указанное время).
>
># at 1600 <<!
>> rm /tmp/f*
>> !


Сработало. Спасибо.
Получается, что я каким-то образом не верно дату указывал.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру