Jump to content

Recommended Posts

Posted

Вроде отлично работает, и файлики создаёт как надо, только почему то пишет какие то предупреждения при создании и обновлении файла статистики. Вот файлик который создаёт статистику

==========refresh.sh=============

day="`date +%Y-%m-%d`" # Текущая дата в формате ГГГГ-ММ-ДД

ndir="traffic/${day}" # Имя новой директории, в которуюп оложим

# статистику

mkdir -p ${ndir}

cd ${ndir}

# Сохраним статистику по каждому интерфейсу

/usr/local/bin/traflog -i rl1 -a -n -s > ${ndir}/summary.rl # для rl1

==============================================

на всё это он выдаёт cd: can't cd to traffic/2006-04-02

: not found

 

и присылает этот текст на почту для root

Posted

так самое смешное что папка есть, и файлы создаются, и всё отлично! но предупреждение вот такое выдаётся )))... на счёт доступа проверю... но файлы же создаются значит всё ок ... фантастика короче

Posted
а файлы создаются в подпапках с датой?

а так исправь cd ${ndir} на cd ${ndir} 2> /dev/null

 

так вообще ошибку выдаёт

 

./refresh.sh: cannot create traffic/2006-04-05/summary.rl: No such file or directory

grep: traffic/2006-04-05/summary.rl: No such file or directory

Posted

Я думаю тут сценарий такой:

trafd посылается сигнал - скидай статистику. Но сигналы - вещь асинхронная, те скрипт пошел дальше, а trafd еще не успел ничего отдать, файики не создались, потому их и нет. Потом-то файлики видно, но это потом, когда все отработало. Думаю, тут поможет обычный sleep. Ну подождать надо маленько. Сколько - зависит от многих причин. Тут только методом тыка, ИМХО.

PS: Я когда возился с подсчетом трафа по логам сквида тоже наступил на аналогичные грабли:

В скрипе было что-то типа:

squid - k rotate

/usr/local/billing/squid-traf.pl

Так вот, пока объем логов был небольшой, сквид успевал отротейтить логи и все было ОК, но с разрастанием оных уже не успевал. Результат - ругань на отсутствие файлов логов со стороны squid-traf.pl. Потом-то логи было видно, но это потом ;-)

PPS: Так что посоветую либо вставить sleep, либо пересмотреть логику работы скрипта, чтобы можно было разнести задания подальше в crontab.

Posted
traffic/2006-04-05 а этот каталог есть?

 

 

ну да, такие каталоги создаются после запуска скрипта...

Posted

Предположим, что в момент запуска скрипта мы находимся в /root.

Пусть сегодня 2006-04-05

ndir="traffic/${day}" # Имя новой директории, в которуюп оложим 

mkdir -p ${ndir} 

cd ${ndir}

Теперь мы находимся в /root/traffic/2006-04-05.

# Сохраним статистику по каждому интерфейсу 

/usr/local/bin/traflog -i rl1 -a -n -s > ${ndir}/summary.rl # для rl1

А теперь зададимся вопросом, есть ли в /root/traffic/2006-04-05 каталог traffic/2006-04-05, учитывая то, что мы его не создавали. Ответ, мне кажется, очевиден -- нету.

 

Либо не делай chdir, либо задавай путь от корня.

Posted
Предположим, что в момент запуска скрипта мы находимся в /root.

Пусть сегодня 2006-04-05

ndir="traffic/${day}" # Имя новой директории, в которуюп оложим 

mkdir -p ${ndir} 

cd ${ndir}

Теперь мы находимся в  /root/traffic/2006-04-05.

# Сохраним статистику по каждому интерфейсу 

/usr/local/bin/traflog -i rl1 -a -n -s > ${ndir}/summary.rl # для rl1

А теперь зададимся вопросом, есть ли в  /root/traffic/2006-04-05 каталог traffic/2006-04-05, учитывая то, что мы его не создавали. Ответ, мне кажется, очевиден -- нету.

 

Либо не делай chdir, либо задавай путь от корня.

 

 

вот прикол то блин ))) как всё оказалось до банальности просто )) ... Спасибо большое ша пошаговое разъяснение проблемы, всё исправил , всё работает теперь без предупреждений

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.