Доброго времени суток господа Юниксоиды. У меня проблемс с попыткой заставить примитвно простой скрипт на shell выполняться с определенной периодичностью. Пишу в crontab соответствующее задание...потом смотрю в /var/log/cron (у меня FreeBSD 4.9) и вижу что соответствующий скрипт якобы был запущени, НО...ни фига он ничего не запустил и не выполнил. Может кто подскажет как писать в crontab чтоб он все делал как надо???
как там насчёт вв/вывода в консоль в этом примитивном скрипте ??
Ну скажем, результатом работы скрипта будет текстовый файл.
Приведу кусок скрипта:
#!/bin/sh
####
in=0
out=0
####
cat stat.txt | grep xx.xx.xx. > statistic
####
cat statistic | while read ipfrom ipto bytes; do
case $ipfrom in
"xx.xx.xx.1") out=`expr $out + $bytes`;;
"xx.xx.xx.2") out=`expr $out + $bytes`;;
esac
case $ipto in
"xx.xx.xx.1") in=`expr $in + $bytes`;;
"xx.xx.xx.2") in=`expr $in + $bytes`;;
esac
echo $in > in
echo $out > out
exit
Вот я и хочу чтоб регулярно выполнялся этот скрипт...Сам файл stat.txt обновляется каждые 5 минут.
>cat stat.txt | grep xx.xx.xx. > statistic
>####
>cat statistic | while read ipfrom ipto bytes; do
Это работает, если запускать руками скрипт из текущей директории.
Попробуй запустить из другого места и сам увидишь.
Решение: В скрипте прописать путь к файлу stat.txt
cat /home/user/stat.txt |grep ... т.д
Поставь в начале скрипта#!/bin/sh
2> /tmp/script.logпотом посмотришь где и что не работает.
А вообще настрой cron, он тебе должен присылать по E-mail то, что сыпалось в STDERR у скрипта.
Вс ясно, но хочу заметить, что при принудительном запуске скрипта все работает без ошибок, так что пробема мне кажется только в том, как записать задание в crontab. Если не трудно подскажите, где есть толковый ресурс про crontab. Есть конечно маны родные, но все что там написано я уже знаю.
Спасибо!
софтина получает тока 4 переменные окружения. PATH, LOGNAME, HOME и ищо какую-то. Кароче чтоб скрипнт намана исполнялся с-под крона надо сперва выполнить профайл:
#!/bin/sh
. /etc/profile
. $HOME/.profile
или
#!/bin/bash
. /etc/profile
. $HOME/.bash_profile
и буит те щастье.
Недавно столкнулся с очень похожим вопросом, надо прожку из кронтаба запустить на pts/1. Сама прожка перловая, что посоветуете?