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

Исходное сообщение
"Cron не запускает выполнение команды mv file1 file2"

Отправлено JVS , 15-Авг-08 10:46 
Интересно, почему cron не выполняет команду в фряхе 6.2 команду:

1 2 * * * mv /var/log/racoon /var/log/racoon2

хотя в логах пишет что выполняет. Подскажите пожалуйста.


Содержание

Сообщения в этом обсуждении
"Cron не запускает выполнение команды mv file1 file2"
Отправлено suslic , 15-Авг-08 10:49 
а так
1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2

"Cron не запускает выполнение команды mv file1 file2"
Отправлено Pahanivo , 15-Авг-08 12:36 
>а так
>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2

Прикол стандартный - старайся всегда и везде указывать полный путь до системных тулзов.
А лучше зделай скрипт типа:
-----
#!/bin/sh
echo $PATH > /var/log/cron_path.log
-----
запусти ИЗ ПОД КРОНА и посмотри какие у тама пути
все что не вних надо обязательно прописывать полным путем


"Cron не запускает выполнение команды mv file1 file2"
Отправлено JVS , 15-Авг-08 12:51 
>а так
>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2

#!/bin/sh

1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2

не помогло. Странно, все настроил по мануалу...


"Cron не запускает выполнение команды mv file1 file2"
Отправлено Pahanivo , 15-Авг-08 13:40 
>>а так
>>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
>
>#!/bin/sh
>
>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
>
>не помогло. Странно, все настроил по мануалу...

а из консоли работает?


"Cron не запускает выполнение команды mv file1 file2"
Отправлено Vitaly_loki , 15-Авг-08 14:05 
>>>а так
>>>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
>>
>>#!/bin/sh
>>
>>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
>>
>>не помогло. Странно, все настроил по мануалу...
>
>а из консоли работает?

Надо указать пользователя, к-й будет данный сценарий выполнять:
1       2        *        *       *          root       mv /var/log/racoon /var/log/racoon2


"Cron не запускает выполнение команды mv file1 file2"
Отправлено PavelR , 15-Авг-08 14:15 
>[оверквотинг удален]
>>>не помогло. Странно, все настроил по мануалу...
>>
>>а из консоли работает?
>
>Надо указать пользователя, к-й будет данный сценарий выполнять:
>1       2    
>   *        
>*       *    
>      root    
>  mv /var/log/racoon /var/log/racoon2

Не путайте пользователе.

Это если ты в системный крон пишешь строки - тогда надо указывать пользователя, а если в пользовательский - то соответственно не надо.



"Cron не запускает выполнение команды mv file1 file2"
Отправлено Vitaly_loki , 15-Авг-08 17:52 
>[оверквотинг удален]
>>1       2    
>>   *        
>>*       *    
>>      root    
>>  mv /var/log/racoon /var/log/racoon2
>
>Не путайте пользователе.
>
>Это если ты в системный крон пишешь строки - тогда надо указывать
>пользователя, а если в пользовательский - то соответственно не надо.

Простите, забыл :)


"Cron не запускает выполнение команды mv file1 file2"
Отправлено JVS , 29-Авг-08 10:41 
>[оверквотинг удален]
>>>*       *    
>>>      root    
>>>  mv /var/log/racoon /var/log/racoon2
>>
>>Не путайте пользователе.
>>
>>Это если ты в системный крон пишешь строки - тогда надо указывать
>>пользователя, а если в пользовательский - то соответственно не надо.
>
>Простите, забыл :)

cron от имени простого пользователя работает, только вот как на экран то вывести информационное сообщение типа:
echo " Archive complete "
или
echo " Archive complete " > /dev/console

оба они не выводят на экран сообщение, но поставленную задачу cron выполняет


"Cron не запускает выполнение команды mv file1 file2"
Отправлено mikra , 29-Авг-08 12:27 
>Интересно, почему cron не выполняет команду в фряхе 6.2 команду:
>
>1 2 * * * mv /var/log/racoon /var/log/racoon2
>
>хотя в логах пишет что выполняет. Подскажите пожалуйста.

/bin/mv в скриптах автоматизации нужно обязательно, верно люди говорят. Если придется запускать такие скрипты в какой-либо аварийной ситуации, когда $PATH изменится, то надо будет все исправлять на скорую руку. Возьмите себе в качестве привычки.

Теперь по вопросу

1 вариант:
взять всю команду в кавычки
1 2 * * * "/bin/mv /var/log/racoon /var/log/racoon2"

2 вариант:
посмотреть чозанах
1 2 * * * "/bin/mv /var/log/racoon /var/log/racoon2 &> /var/log/cron_mv_racoon"

3 вариант:
написать shell скрипт и вызывать его из крона
1 2 * * * /usr/local/serv_scripts/mv_racoon.sh

в скрипте mv_racoon.sh, соответственно, ваша команда:

#!/bin/sh
/bin/mv /var/log/racoon /var/log/racoon2 &> /var/log/cron_mv_racoon

третий вариант самый верный


"Cron не запускает выполнение команды mv file1 file2"
Отправлено JVS , 29-Авг-08 12:38 
>[оверквотинг удален]
>
>Теперь по вопросу
>
>1 вариант:
>взять всю команду в кавычки
>1 2 * * * "/bin/mv /var/log/racoon /var/log/racoon2"
>
>2 вариант:
>посмотреть чозанах
>1 2 * * * "/bin/mv /var/log/racoon /var/log/racoon2 &> /var/log/cron_mv_racoon"

спасибо вам за ответ, но как мне выводить при этом на экран простое информационное сообщение типа "move complete"?
>[оверквотинг удален]
>3 вариант:
>написать shell скрипт и вызывать его из крона
>1 2 * * * /usr/local/serv_scripts/mv_racoon.sh
>
>в скрипте mv_racoon.sh, соответственно, ваша команда:
>
>#!/bin/sh
>/bin/mv /var/log/racoon /var/log/racoon2 &> /var/log/cron_mv_racoon
>
>третий вариант самый верный


"Cron не запускает выполнение команды mv file1 file2"
Отправлено mikra , 29-Авг-08 13:01 
>>2 вариант:
>>посмотреть чозанах
>>1 2 * * * "/bin/mv /var/log/racoon /var/log/racoon2 &> /var/log/cron_mv_racoon"
>
>спасибо вам за ответ, но как мне выводить при этом на экран
>простое информационное сообщение типа "move complete"?

Это возможно, но в данном случае правильный ответ "никак". Выводите в файлы и потом читайте их. Вывод на консоль отладок из крона это дикость, ибо консоли может не существовать в момент старта скрипта.

Файл - самый верный способ. Используйте оператор &> и получите в файле содержимое потоков вывода и ошибок запускавшейся программы.

Если нужно сделать сообщение с гарантией доставки, то рассылайте его по почте.


"Cron не запускает выполнение команды mv file1 file2"
Отправлено JVS , 29-Авг-08 15:11 
>[оверквотинг удален]
>>простое информационное сообщение типа "move complete"?
>
>Это возможно, но в данном случае правильный ответ "никак". Выводите в файлы
>и потом читайте их. Вывод на консоль отладок из крона это
>дикость, ибо консоли может не существовать в момент старта скрипта.
>
>Файл - самый верный способ. Используйте оператор &> и получите в файле содержимое потоков вывода и ошибок запускавшейся программы.
>
>Если нужно сделать сообщение с гарантией доставки, то рассылайте его по почте.
>

Добавил на скрипт /home/iam/my_cron.sh эту команду MAIL_TO=root а в алиасах рут перенаправляет почту на меня в iam@mail.ru но отчет о проделанной работе так и не идет даже руту, логи почты читаю а там нет сообщений относительно cron


"Cron не запускает выполнение команды mv file1 file2"
Отправлено mikra , 29-Авг-08 15:24 
>[оверквотинг удален]
>>
>>Файл - самый верный способ. Используйте оператор &> и получите в файле содержимое потоков вывода и ошибок запускавшейся программы.
>>
>>Если нужно сделать сообщение с гарантией доставки, то рассылайте его по почте.
>>
>
>Добавил на скрипт /home/iam/my_cron.sh эту команду MAIL_TO=root а в алиасах рут перенаправляет
>почту на меня в iam@mail.ru но отчет о проделанной работе так
>и не идет даже руту, логи почты читаю а там нет
>сообщений относительно cron

Если копирование файла в кроне проходит нормально, то оставьте вопрос отправки почты для другой темы.
Если во время копирования происходят ошибки, то используйте третий способ и читайте причины ошибки в /var/log/cron_mv_racoon


"Cron не запускает выполнение команды mv file1 file2"
Отправлено JVS , 05-Сен-08 10:12 
>[оверквотинг удален]
>>
>>Добавил на скрипт /home/iam/my_cron.sh эту команду MAIL_TO=root а в алиасах рут перенаправляет
>>почту на меня в iam@mail.ru но отчет о проделанной работе так
>>и не идет даже руту, логи почты читаю а там нет
>>сообщений относительно cron
>
>Если копирование файла в кроне проходит нормально, то оставьте вопрос отправки почты
>для другой темы.
>Если во время копирования происходят ошибки, то используйте третий способ и читайте
>причины ошибки в /var/log/cron_mv_racoon

Спасибо Вам ребята. Cron работает, как мне выполнять скрипт от имени root?


"Cron не запускает выполнение команды mv file1 file2"
Отправлено JVS , 05-Сен-08 10:19 
>[оверквотинг удален]
>>>почту на меня в iam@mail.ru но отчет о проделанной работе так
>>>и не идет даже руту, логи почты читаю а там нет
>>>сообщений относительно cron
>>
>>Если копирование файла в кроне проходит нормально, то оставьте вопрос отправки почты
>>для другой темы.
>>Если во время копирования происходят ошибки, то используйте третий способ и читайте
>>причины ошибки в /var/log/cron_mv_racoon
>
>Спасибо Вам ребята. Cron работает, как мне выполнять скрипт от имени root? Например: остановить службу postgrey. Ведь user не имеет право, он всего лишь имеет право запустить cron.  


"Cron не запускает выполнение команды mv file1 file2"
Отправлено JVS , 05-Сен-08 11:02 
>[оверквотинг удален]
>>
>>Добавил на скрипт /home/iam/my_cron.sh эту команду MAIL_TO=root а в алиасах рут перенаправляет
>>почту на меня в iam@mail.ru но отчет о проделанной работе так
>>и не идет даже руту, логи почты читаю а там нет
>>сообщений относительно cron
>
>Если копирование файла в кроне проходит нормально, то оставьте вопрос отправки почты
>для другой темы.
>Если во время копирования происходят ошибки, то используйте третий способ и читайте
>причины ошибки в /var/log/cron_mv_racoon

Это скрипт который cron вызывает от имени al

#!/bin/sh
/bin/mv /home/al/for_cron/cppostgrey2.gz /home/al/for_cron/cppostgrey3.gz
/bin/mv /home/al/for_cron/cppostgrey1.gz /home/al/for_cron/cppostgrey2.gz
/bin/mv /home/al/for_cron/cppostgrey /home/al/for_cron/cppostgrey1
/bin/cp /var/log/postgrey /home/al/for_cron/cppostgrey
/bin/cat /dev/null > /var/log/postgrey
/usr/bin/gzip /home/al/for_cron/cppostgrey1
echo
echo " Copy and archive postgrey log files "
echo
exit 0

если его запускаю такую ошибку выдает, это понятно так должен быть.

/home/al/for_cron/my_cron.sh start
mv: /home/al/for_cron/cppostgrey2.gz: No such file or directory
/home/al/for_cron/my_cron.sh: cannot create /var/log/postgrey: Permission denied

Copy and archive postgrey log files

Как мне вызывать cron от имени root чтоб он смог создавать файл на /var/log ?


"Cron не запускает выполнение команды mv file1 file2"
Отправлено angra , 05-Сен-08 12:43 
Может вы все-таки почитаете мануал? Да и первое сообщение об ошибке неплохо было перевести.