1)Как почистить все логи(/var/log) системы из командной строки?2)Как запустить поиск всех строчек содержащих опред. фразу за текущий день из командной строки?
>1)Как почистить все логи(/var/log) системы из командной строки?
rm /var/log/*>2)Как запустить поиск всех строчек содержащих опред. фразу за текущий день >из командной строки?
grep "фраза" файл
В Вашем случае прийдется наверное делать так:
grep "фраза" | grep "дата" файлА вообще Вам следует многое почитать! =)
>rm /var/log/*да не удалить - а именно сделать их пустыми но файлы оставить, причем рекурсивно (вкл подкатологи)
>>В Вашем случае прийдется наверное делать так:
>grep "фраза" | grep "дата" файлнет так не работает
>
>А вообще Вам следует многое почитать! =)
я читал мануал по коммандной строке, но не могу придумать какие команды тут использовать через pipes....наверняка это просто, ну подскажите кто нибудь!!!
>>rm /var/log/*
>
>да не удалить - а именно сделать их пустыми но файлы оставитьДля текстовых логов можно так:
cp /dev/null /var/log/имя_файла
Но в /var/log/ еще обычно лежат архивы логов и файлы где инфа 'копится' не в текстовом виде.
Во FreeBSD почитайте man newsyslog.conf.
http://www.freebsd.org/cgi/man.cgi?query=newsyslog.conf
WBR
>>1)Как почистить все логи(/var/log) системы из командной строки?
>rm /var/log/*
>
man find поможет вам, отвечу с вариантом цикла на 1.find /var/log -type f -iname '*.gz' -or -iname '*.1' | xargs rm -f
for i in `find /var/log -type f -iname '*.log'`;do echo -n >$i;done>>2)Как запустить поиск всех строчек содержащих опред. фразу за текущий день >из командной строки?
>"текущий день" это что?
timestamp в логе и день когда когда вёлся лог? (будте добры, уточнять, ибо не у всех и ене все логи ротэйтятся ежедневно, бывает и почасно и понедельно)в первом случае man grep, во втором man find
Полож ентот скрипт в /etc/cron.monthly и все логи будут чиститься раз в месяц.#Clear logs
res=" `find /var/log -name "*.*"` "
for log in $res
do
: > $log
done
Посмотри в сторону logrotate
огромное спасибо всем!!!