URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92734
[ Назад ]

Исходное сообщение
"Крон не выполняет команду!"

Отправлено flagman , 12-Дек-11 10:18 
Всем доброго дня и творческой ночи! Пользуюсь платформой Pfsense гдето около  года, замечательная система, все для комфорта, тем более за бесплатно! Все что необходимо по текущим задачам в PFsense есть и все работает! Но вот руководство нарезало ещё 1 задачу.... лимитирование трафика пользователей... На этом месте загвоздка, но спустя некоторое время поисков, чтения статей, нешел способ это сделать, в итоге получилось но не до конца, последний  штрих заключается в необходимости запуска команды "squid -k reconfigure" через крон, т.е. когда через командную строку запускаю команду все в порядке и работает, через крон нифига, затык... пробовал через sh файл, таже история, нужна ваша помощь!!!!

Содержание

Сообщения в этом обсуждении
"Крон не выполняет команду!"
Отправлено Andrey Mitrofanov , 12-Дек-11 10:46 
> и работает, через крон нифига, затык... пробовал через sh файл, таже
> история, нужна ваша помощь!!!!

http://lmgtfy.com/?q=%D0%BD%D0%B5+%...


"Крон не выполняет команду!"
Отправлено flagman , 12-Дек-11 12:54 
Спасибо за ссылки, ознакамливался уже, затык не в этом. выкладываю содержимое
/etc/crontab:

SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#minute hour    mday    month   wday    who      command
#
#
# pfSense specific crontab entries
# Created: December 12, 2011, 11:06 am
#

0    *    *    *    *    root    /usr/bin/nice -n20 newsyslog
1,31    0-5    *    *    *    root    /usr/bin/nice -n20 adjkerntz -a
1    3    1    *    *    root    /usr/bin/nice -n20 /etc/rc.update_bogons.sh
*/60    *    *    *    *    root    /usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 sshlockout
1    1    *    *    *    root    /usr/bin/nice -n20 /etc/rc.dyndns.update
*/60    *    *    *    *    root    /usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 virusprot
30    12    *    *    *    root    /usr/bin/nice -n20 /etc/rc.update_urltables
10    *    *    *    *    root    /usr/local/etc/squid/traf_limit/traf_limit.pl
12    *    *    *    *    root    /usr/local/etc/squid/traf_limit/squidr.sh
0    0    *    *    *    root    /var/etc/pppoe_restart_pppoe0
*/60    *    *    *    *    root    /usr/bin/perl /usr/local/www/lightsquid/lightparser.pl today
15    0    *    *    *    root    /usr/bin/perl /usr/local/www/lightsquid/lightparser.pl yesterday
#
# If possible do not add items to this file manually.
# If you do so, this file must be terminated with a blank line (e.g. new line)


Пункт 10 минутой, тож мной добавлено, выполняется, Пункт 12 минутой не  хочет.
Содержимое squidr.sh

#! /bin/sh

squid -k reconfigure

Может ошибка в "теле"?

Если от root коннект по ssh то при запросе contrab -l  ответ no crontab for root

Но ведь остальные задания выполняются без проблем



"Крон не выполняет команду!"
Отправлено lavr , 12-Дек-11 13:31 
>[оверквотинг удален]
> blank line (e.g. new line)
> Пункт 10 минутой, тож мной добавлено, выполняется, Пункт 12 минутой не  
> хочет.
> Содержимое squidr.sh
> #! /bin/sh
> squid -k reconfigure
> Может ошибка в "теле"?
> Если от root коннект по ssh то при запросе contrab -l  
> ответ no crontab for root
> Но ведь остальные задания выполняются без проблем

ознакомтесь с двумя моими постами про cron и crontab - там все разжевано,
проблемы уйдут после соответствующих изменений:

http://www.opennet.me/openforum/vsluhforumID1/49005.html


"Крон не выполняет команду!"
Отправлено flagman , 12-Дек-11 14:29 
> ознакомтесь с двумя моими постами про cron и crontab - там все
> разжевано,
> проблемы уйдут после соответствующих изменений:
> http://www.opennet.me/openforum/vsluhforumID1/49005.html

Блин не вижу ошибки, создавать файл заданий крона пользователя мне не нужно,
необходимо добиться чтобы команда  squid -k reconfigure запускалась раз в час, средством системного cron, (etc/crontab), т.к. в веб морде pfsense, задания туда и прописываются, в ручную править не получается, т.к. после перезагрузки, pfsense проверяет все свои файлики на изменения, основываясь на веб конфигуратор...
Как я понимаю дело в самом скрипте :

#! /bin/sh
squid -k reconfigure

Но блин ведь из командной строки работает...


"Крон не выполняет команду!"
Отправлено Aleks305 , 12-Дек-11 14:43 
>[оверквотинг удален]
>> http://www.opennet.me/openforum/vsluhforumID1/49005.html
> Блин не вижу ошибки, создавать файл заданий крона пользователя мне не нужно,
> необходимо добиться чтобы команда  squid -k reconfigure запускалась раз в час,
> средством системного cron, (etc/crontab), т.к. в веб морде pfsense, задания туда
> и прописываются, в ручную править не получается, т.к. после перезагрузки, pfsense
> проверяет все свои файлики на изменения, основываясь на веб конфигуратор...
> Как я понимаю дело в самом скрипте :
> #! /bin/sh
> squid -k reconfigure
> Но блин ведь из командной строки работает...

а сам скрипт запускали без cron?работает?
А если #! /bin/bash ?


"Крон не выполняет команду!"
Отправлено flagman , 12-Дек-11 14:44 
> а сам скрипт запускали без cron?работает?
> А если #! /bin/bash ?

Ага из командной строки работает, обработчик у меня  bin/sh
bash нету


"Крон не выполняет команду!"
Отправлено Fagor , 12-Дек-11 15:20 
>> а сам скрипт запускали без cron?работает?
>> А если #! /bin/bash ?
> Ага из командной строки работает, обработчик у меня  bin/sh
> bash нету

Я могу ошибаться, но попробуйте прописать в squidr.sh полный путь к squid
например и еще  #! /bin/sh тут надо без пробела #!/bin/sh (о том что chmod +x squidr.sh тут на всякий случай :)) )

#!/bin/sh
/usr/local/sbin/squid -k reconfigure >> /dev/null 2>&1

С Уважением.


"Крон не выполняет команду!"
Отправлено flagman , 12-Дек-11 17:04 
Fagor! Спасибо Вам большое за ответ! Теперь все работает,
по вашему совету:

> #!/bin/sh
> /usr/local/sbin/squid -k reconfigure >> /dev/null 2>&1

Теперь все как часы! С Уважением!



"Крон не выполняет команду!"
Отправлено lavr , 12-Дек-11 18:10 
> Fagor! Спасибо Вам большое за ответ! Теперь все работает,
> по вашему совету:
>> #!/bin/sh
>> /usr/local/sbin/squid -k reconfigure >> /dev/null 2>&1
> Теперь все как часы! С Уважением!

вам этот совет дали в третьем постинге с ссылкой на более развернутое и полное
описание


"Крон не выполняет команду!"
Отправлено Ajavrik , 12-Дек-11 15:21 
>> а сам скрипт запускали без cron?работает?
>> А если #! /bin/bash ?
> Ага из командной строки работает, обработчик у меня  bin/sh
> bash нету

А полный путь типа /usr/local/bin/squid .... не пробовали?


"Крон не выполняет команду!"
Отправлено flagman , 12-Дек-11 16:03 
Спасибо за ответы! Но результат тот же...
Через командную строку работатет а через крон не хочет...
Ять.. мысль пришла, возможно глупая, но что если в команду
squid -k reconfigure
зациклить, в командной строке? т.е. повтор через н-ый промежуток времени,
в Pfsense есть менеджер командной строки, которые будут выполняться при загрузке системы,
как надо правильно прописать повтор команды?
или это все бред неумелого разума?


"Крон не выполняет команду!"
Отправлено Ajavrik , 12-Дек-11 16:26 
> Спасибо за ответы! Но результат тот же...
> Через командную строку работатет а через крон не хочет...
> Ять.. мысль пришла, возможно глупая, но что если в команду
> squid -k reconfigure
> зациклить, в командной строке? т.е. повтор через н-ый промежуток времени,
> в Pfsense есть менеджер командной строки, которые будут выполняться при загрузке системы,
> как надо правильно прописать повтор команды?
> или это все бред неумелого разума?

Помнится была похожая ситуация и выходил, кажется, написав в кроне

..... cd /usr/local/sbin; ./squid ....

т.е. перейдите в директорию где лежит исполняемый файл и запустите из нее.

Попробуйте, я понимаю глупость, но что-то проходило.

А логи-то ничего не говорят?


"Крон не выполняет команду!"
Отправлено Fagor , 12-Дек-11 16:31 
>[оверквотинг удален]
>> squid -k reconfigure
>> зациклить, в командной строке? т.е. повтор через н-ый промежуток времени,
>> в Pfsense есть менеджер командной строки, которые будут выполняться при загрузке системы,
>> как надо правильно прописать повтор команды?
>> или это все бред неумелого разума?
> Помнится была похожая ситуация и выходил, кажется, написав в кроне
> ..... cd /usr/local/sbin; ./squid ....
> т.е. перейдите в директорию где лежит исполняемый файл и запустите из нее.
> Попробуйте, я понимаю глупость, но что-то проходило.
> А логи-то ничего не говорят?

Согласен с высказыванием Ajavrik
Настало самое время смотреть логи cron'а, что cron думает на сей счет...


"Крон не выполняет команду!"
Отправлено lavr , 12-Дек-11 16:28 
> Спасибо за ответы! Но результат тот же...
> Через командную строку работатет а через крон не хочет...
> Ять.. мысль пришла, возможно глупая, но что если в команду
> squid -k reconfigure
> зациклить, в командной строке? т.е. повтор через н-ый промежуток времени,
> в Pfsense есть менеджер командной строки, которые будут выполняться при загрузке системы,
> как надо правильно прописать повтор команды?
> или это все бред неумелого разума?

вы изучите полностью материал выданный вам ранее по ссылки и все "блины" и "невижу разницы"
и "не работает" исчезнут: обратить внимание на stderr/stdout, полный путь, формат crontab
и владельца запуска