Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Автоматический запуск скрипта по времени (http://forum.oszone.net/showthread.php?t=75397)

Non-Stop 29-11-2006 17:11 518521

Автоматический запуск скрипта по времени
 
Помогите пожалуйста прописать атоматический запуск скрипта помесячно, не в автозагрузку, а при наступлении нового месяца!
Скрипт должен запускаться именно в начале месяца (например, 1го числа в 00:00), а не в конце (например, 31го числа в 23:59)

OS Debian sarge 3.1

Заранее благодарен!

mar 29-11-2006 17:20 518525

Non-Stop
почитайте про демон cron и crontab
посмотрите /etc/crontab
Собственно, это то, что Вам нужно.

Non-Stop 29-11-2006 17:54 518542

Благодарю за точную наводочку ))
то что нужно!
разбираюсь

Non-Stop 29-11-2006 18:28 518566

Поправьте, если сделал чтото не то...

Задача
запускать каждый месяц первого числа скрипт usr/local/script.pl

Создал в /etc/cron.monthly/ файл script такого содержания:

#######################################
#!/bin/sh
#
#
0 0 1 * * /usr/bin/perl usr/local/script.pl
#########################################

Будет ли мой скрипт на перле запускаться первого числа каждого месяца?

fossil 29-11-2006 18:45 518580

Да все правильно.

Non-Stop 29-11-2006 19:16 518597

КУУЛ :)
если кому будет интересно - использовал вот эту статью
http://www.codenet.ru/webmast/php/cron.php

Весьма доходчиво написано!

а как можно проверить исполняется скрипт или нет?


mar 29-11-2006 19:42 518614

Цитата:

а как можно проверить исполняется скрипт или нет?
ну, во-первых, логи
во-вторых, для более детальной отладки можно,
- как предлагается в статье по ссылке, перенаправить вывод в файл
- или (и) сделать пробный запуск на здесь и сейчас (скажем, через 5 минут), а потом, после отладки, поставить нужное время-день-и тд
... можно еще что-нибудь придумать

Non-Stop 01-12-2006 13:41 519389

Скрипт не запустился ((((
Подскажите где лажа...

dmitryst 01-12-2006 13:45 519393

Non-Stop А как с правами доступа к скрипту?

Non-Stop 01-12-2006 13:51 519396

у запускающего скрипта права 755
у скрипта который должен запустится 500

dmitryst 01-12-2006 14:05 519400

Non-Stop поставьте второму 744 (т.е. только чтение-выполнение для не-владельцев)

Non-Stop 01-12-2006 16:22 519464

поставил права 744
положил скрипт в cron.hourly, для тестирования , вместе с другими скриптами в этом каталоге
скрипт не запустился, хотя другие скрипты работают...

в чём ещё может быть запарка?
может в том что скрипт на перле?

Borodunter 01-12-2006 16:39 519471

Non-Stop
cron должен писать информацию о своей работе в лог-файл. попробуй посмотреть, что написано в messages.log
запускается ли скрипт вручную?
перезапускал ли ты cron после того, как правил файл конфигурации?

Non-Stop 01-12-2006 16:46 519476


Скрипт вручную запускается и работает, ошибок не выдаёт.
крон перезапустил, пишет тожесамое...
messages.log - не нашёл, где он должен находиться?
на мыло крон шлёт такое
/usr/sbin/logcheck: line 1: date: command not found

fossil 01-12-2006 17:06 519489

Non-Stop
Создать файл у своего юзера в каталоге. Потом заполни его по типа /etc/crontab
Ну и crontab /home/non_stop/cronscript

fossil 01-12-2006 17:06 519488

Non-Stop
Создай файл у своего юзера в каталоге. Потом заполни его по типа /etc/crontab
Ну и crontab /home/non_stop/cronscript

Borodunter 01-12-2006 17:19 519494

Non-Stop
Цитата:

messages.log - не нашёл, где он должен находиться?
во FreeBSD он обычно лежит в /var/log/ (файл называется просто messages, извиняюсь :)), в линухе может называется по-другому, тут я пас

Цитата:

на мыло крон шлёт такое
/usr/sbin/logcheck: line 1: date: command not found
может в этом трабл, что за logcheck, и что у него в первой строке? не может найти какую-то команду...

BuGfiX 01-12-2006 18:52 519520

Цитата:

во FreeBSD он обычно лежит в /var/log/ (файл называется просто messages, извиняюсь ), в линухе может называется по-другому, тут я пас
аналогично и в линуксе. /var/log/messages

Цитата:

/usr/sbin/logcheck: line 1: date: command not found
logcheck - это и есть тот самый скрипт?
Убедитесь что команда date вызывается с указанием пути к ней (/bin/date).

Non-Stop 02-12-2006 15:06 519836

Код:

/usr/sbin/logcheck: line 1: date: command not found
понял, это крон шлёт по другому скрипту...

При запуске скрипта вручную
/etc/cron.monthly/script

выдаёт ошибку
line 4: 0: command not found

Содержание скрипта
#!/bin/sh
#
#
0 0 1 * * /usr/bin/perl usr/local/script.pl

синтаксис неправильный?

Borodunter 02-12-2006 15:12 519840

Non-Stop
Цитата:

usr/local/script.pl
как минимум слэш должен перед usr стоять

Non-Stop 02-12-2006 15:17 519843

Цитата:

Non-Stop Создай файл у своего юзера в каталоге. Потом заполни его по типа /etc/crontab Ну и crontab /home/non_stop/cronscript
Всё понял....
Создал файл скрипт /etc/cron.monthly/script
#!/bin/sh
#
#
cd /usr/local/
./skript.pl

Попробовал запустить вручную - скипт испоняется ))))
по идее крон должен тож запускать.

Всем огромное СПАСИБО за советы!!!


Время: 03:50.

Время: 03:50.
© OSzone.net 2001-2025