Интересно, почему cron не выполняет команду в фряхе 6.2 команду:1 2 * * * mv /var/log/racoon /var/log/racoon2
хотя в логах пишет что выполняет. Подскажите пожалуйста.
а так
1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
>а так
>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2Прикол стандартный - старайся всегда и везде указывать полный путь до системных тулзов.
А лучше зделай скрипт типа:
-----
#!/bin/sh
echo $PATH > /var/log/cron_path.log
-----
запусти ИЗ ПОД КРОНА и посмотри какие у тама пути
все что не вних надо обязательно прописывать полным путем
>а так
>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2#!/bin/sh
1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
не помогло. Странно, все настроил по мануалу...
>>а так
>>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
>
>#!/bin/sh
>
>1 2 * * * /bin/mv /var/log/racoon /var/log/racoon2
>
>не помогло. Странно, все настроил по мануалу...а из консоли работает?
>>>а так
>>>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
>[оверквотинг удален]
>>>не помогло. Странно, все настроил по мануалу...
>>
>>а из консоли работает?
>
>Надо указать пользователя, к-й будет данный сценарий выполнять:
>1 2
> *
>* *
> root
> mv /var/log/racoon /var/log/racoon2Не путайте пользователе.
Это если ты в системный крон пишешь строки - тогда надо указывать пользователя, а если в пользовательский - то соответственно не надо.
>[оверквотинг удален]
>>1 2
>> *
>>* *
>> root
>> mv /var/log/racoon /var/log/racoon2
>
>Не путайте пользователе.
>
>Это если ты в системный крон пишешь строки - тогда надо указывать
>пользователя, а если в пользовательский - то соответственно не надо.Простите, забыл :)
>[оверквотинг удален]
>>>* *
>>> root
>>> mv /var/log/racoon /var/log/racoon2
>>
>>Не путайте пользователе.
>>
>>Это если ты в системный крон пишешь строки - тогда надо указывать
>>пользователя, а если в пользовательский - то соответственно не надо.
>
>Простите, забыл :)cron от имени простого пользователя работает, только вот как на экран то вывести информационное сообщение типа:
echo " Archive complete "
или
echo " Archive complete " > /dev/consoleоба они не выводят на экран сообщение, но поставленную задачу cron выполняет
>Интересно, почему 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третий вариант самый верный
>[оверквотинг удален]
>
>Теперь по вопросу
>
>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
>
>третий вариант самый верный
>>2 вариант:
>>посмотреть чозанах
>>1 2 * * * "/bin/mv /var/log/racoon /var/log/racoon2 &> /var/log/cron_mv_racoon"
>
>спасибо вам за ответ, но как мне выводить при этом на экран
>простое информационное сообщение типа "move complete"?Это возможно, но в данном случае правильный ответ "никак". Выводите в файлы и потом читайте их. Вывод на консоль отладок из крона это дикость, ибо консоли может не существовать в момент старта скрипта.
Файл - самый верный способ. Используйте оператор &> и получите в файле содержимое потоков вывода и ошибок запускавшейся программы.
Если нужно сделать сообщение с гарантией доставки, то рассылайте его по почте.
>[оверквотинг удален]
>>простое информационное сообщение типа "move complete"?
>
>Это возможно, но в данном случае правильный ответ "никак". Выводите в файлы
>и потом читайте их. Вывод на консоль отладок из крона это
>дикость, ибо консоли может не существовать в момент старта скрипта.
>
>Файл - самый верный способ. Используйте оператор &> и получите в файле содержимое потоков вывода и ошибок запускавшейся программы.
>
>Если нужно сделать сообщение с гарантией доставки, то рассылайте его по почте.
>Добавил на скрипт /home/iam/my_cron.sh эту команду MAIL_TO=root а в алиасах рут перенаправляет почту на меня в iam@mail.ru но отчет о проделанной работе так и не идет даже руту, логи почты читаю а там нет сообщений относительно cron
>[оверквотинг удален]
>>
>>Файл - самый верный способ. Используйте оператор &> и получите в файле содержимое потоков вывода и ошибок запускавшейся программы.
>>
>>Если нужно сделать сообщение с гарантией доставки, то рассылайте его по почте.
>>
>
>Добавил на скрипт /home/iam/my_cron.sh эту команду MAIL_TO=root а в алиасах рут перенаправляет
>почту на меня в iam@mail.ru но отчет о проделанной работе так
>и не идет даже руту, логи почты читаю а там нет
>сообщений относительно cronЕсли копирование файла в кроне проходит нормально, то оставьте вопрос отправки почты для другой темы.
Если во время копирования происходят ошибки, то используйте третий способ и читайте причины ошибки в /var/log/cron_mv_racoon
>[оверквотинг удален]
>>
>>Добавил на скрипт /home/iam/my_cron.sh эту команду MAIL_TO=root а в алиасах рут перенаправляет
>>почту на меня в iam@mail.ru но отчет о проделанной работе так
>>и не идет даже руту, логи почты читаю а там нет
>>сообщений относительно cron
>
>Если копирование файла в кроне проходит нормально, то оставьте вопрос отправки почты
>для другой темы.
>Если во время копирования происходят ошибки, то используйте третий способ и читайте
>причины ошибки в /var/log/cron_mv_racoonСпасибо Вам ребята. Cron работает, как мне выполнять скрипт от имени root?
>[оверквотинг удален]
>>>почту на меня в iam@mail.ru но отчет о проделанной работе так
>>>и не идет даже руту, логи почты читаю а там нет
>>>сообщений относительно cron
>>
>>Если копирование файла в кроне проходит нормально, то оставьте вопрос отправки почты
>>для другой темы.
>>Если во время копирования происходят ошибки, то используйте третий способ и читайте
>>причины ошибки в /var/log/cron_mv_racoon
>
>Спасибо Вам ребята. Cron работает, как мне выполнять скрипт от имени root? Например: остановить службу postgrey. Ведь user не имеет право, он всего лишь имеет право запустить cron.
>[оверквотинг удален]
>>
>>Добавил на скрипт /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 deniedCopy and archive postgrey log files
Как мне вызывать cron от имени root чтоб он смог создавать файл на /var/log ?
Может вы все-таки почитаете мануал? Да и первое сообщение об ошибке неплохо было перевести.