>Здравствуйте!
>ситуация такая:
>по крону раз в 3 минуты отрабатывается скрипт переключения каналов интернет и
>весь вывод с него перенаправляется в файл /var/log/uplink.log.
>Этот файл ротируется newsyslog'ом. Строки примерно следующие: "проверяем канал", "канал активен" или
>"канал не работает", "переключаемся на другой канал".
>Нужно сделать так, чтобы вывод каждой строки предваряли дата и время в
>которое произведена запись в файл.
>Чую, нужно смотреть в сторону logger(1), но не понимаю как реализовать задачу.
>В общем, если мне нужен logger - как им воспользоваться в
>данном случае? Или какие-нибудь другие решения?
>Спасибо!
Немного другой вариант.
В самом скрипте сделать систему логирования через echo, приблизительно так
#!/usr/local/bin/bash
LOG_DIR="/var/log/"
LOG_FILE="uplink_`date <+%Y%m%d>`.log"
LOG="${LOG_DIR}${LOG_FILE}"
CHANNEL_ARRAY=( channel1 channel2 )
echo_func ()
{
echo "Переключение на канал $1" >> ${LOG}
}
switch_func ()
{
if ( ping xxx.xxx.xxx.xxx -qo -c 1 ); then echo "Канал $1 работает" >> ${LOG};
else echo_func $1
}
for i in $CHANNEL_ARRAY[@]; do
switch_func $i;
done
Ух что-то длинно получилось :) , стоит ещё опробовать, но у меня подобная система работает.
Недостаток, по-крайней мере для меня, состоит в том что систему ротации нужно сделать самому, но это несложно, было бы желание.