IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   Автоматическое обнуления файла в FreeBSD - как? (http://www.imho.ws/showthread.php?t=113186)

Hrusha 02.01.2007 15:42

Автоматическое обнуления файла в FreeBSD - как?
 
Народ подскажите как можно по расписанию во FreeBSD 5.3 обнулить файл?
Если попробовать в crontab добавить cp /dev/null имя файла, то это не работает.

Saruman 02.01.2007 16:03

echo "" > /my/filename

Hrusha 02.01.2007 16:39

Все равно автоматом не обнуляется (если в крон добавить).
Если с консоли запускать то все работает - обнуляет, как командой cp так и командой echo.
Как сделать что бы автоматом обнулялся?

noname 02.01.2007 20:34

в кроне должны быть полные пути.

Hrusha 03.01.2007 18:31

Полные пути к чему, к обнуляемому файлу или к команде?
Я в кроне пишу:
30 14 * * * root echo "" > /home/1.txt

noname 03.01.2007 19:02

у меня /bin/echo
глянь где у тебя
$which echo

Screwy 17.01.2007 17:26

Hrusha, полные пути к выполняемым командам.

Hrusha 17.01.2007 17:59

Что-то не получается, я в кроне пишу:
30 14 * * * root /bin/echo "" > /home/1.txt

Насколько я понял, полные пути прописывать не надо там же прописано:
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
Но все равно ни полный путь прописывая, или просто указывая команду не работает.
После внесения изменения в крон сервер перегружать надо?

V0Vka 17.01.2007 18:14

Нет, не надо. А как ты редактируешь файл?
Проще всего - crontab -e
Если же ты просто открываешь файл редактором, или если ты редактируешь /etc/crontab(судя по синтаксису - именно его) - то
cron сам его должен перечесть:
Цитата:

Сообщение от man cron
Additionally, cron checks each minute to see if its spool directory's
modification time (or the modification time on /etc/crontab) has changed,
and if it has, cron will then examine the modification time on all
crontabs and reload those which have changed. Thus cron need not be
restarted whenever a crontab file is modified.



Добавлено через 5 минут
И еще - логи же есть у крона. Там чего написано? И почту он руту присылает, если чего не так.

Hrusha 17.01.2007 18:47

Все равно не работает.
В логах крона единственное, что пишет
(*system*) RELOAD (/etc/crontab)
В логе даже не пишет - выполняется команда, или нет, то есть насчет echo ни каких записей.
В почте для рута записей по этому поводу нет.

Добавлено через 5 минут
Получилось!
Сработало с полным путем:))
Такое ощущение, что для обработки крона надо как минимум минут 10 между редактированием файла крона и выполнения задание. То есть если я редактирую крон в 16-25, а задание выполнять ставлю на 16-27 - то не работает. Если редактирую в 16-25, а задание выполнять ставлю в 16-35 - то все работает:)))

Screwy 17.01.2007 20:36

При выполнении команды crontab -e пользователя не надо указывать в параметрах. Т.к. все будет отрабатываться от текущего пользователя. То бишь, от которого выполнено crontab -e

Добавлено через 7 минут
да и после изменений в кроне неплохо бы "перечитать" изменения на всяк случай (kill -HUP ). Хотя, это излишне. И не забывать, что в последня строка должна заканчиваться символом новой строки. Т.е., банально, нажать Enter по окончании редактирования;-)


Часовой пояс GMT +4, время: 04:43.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.