Иллюстрированный самоучитель по Linux

Ротация журналов

Чтобы не забивать журналы бесполезной информацией, ограничивая объем разумными пределами, необходимо регулярно проводить ротацию. Регулярная очистка журналов от устаревшей информации позволяет сэкономить место на диске.

Простейшая стратегия ротации журналов состоит в их удалении при запуске демона syslogd и создании новых, чистых журналов. Например, ввод следующих команд:

# rm /var/log/messages
# kill – HUP `cat /var/run/syalogd.pid

…приводит к удалению файла /var/ log/messages и созданию нового при перезапуске syslogd. Подобная стратегия хорошо работает только в однопользовательских и домашних системах, где нет большой надобности в хранении старых журналов. Что касается многопользовательских серверов, то здесь историческая информация имеет особую ценность, особенно при отслеживании возможных нарушений безопасности. В этом случае удобна иная стратегия ротации – сохранение одного поколения журналов, при котором при запуске syslogd журналы не удаляются, а переименовываются.

# mv /var/log/messages /var/log/messages.1
# kill – HUP `cat /var/run/syslogd.pid"

Если требуется сохранить два поколения журналов, то журналам первого поколения присваиваются имена журналов второго, а текущие журналы переименовываются в журналы первого поколения.

# mv /var/log/messages.1 /var/log/messages.2
# mv /var/log/messages /var/log/messages.1
# kill – HUP ` cat /var/run/syslogd.pid'

Эту процедуру следует автоматизировать, выполняя ее, к примеру, еженедельно в установленное время. Для этого надо написать сценарий процедуры ротации. На сервере Linux Red Hat 7.1 при сохранении одного поколения журналов сценарий будет выглядеть примерно так:

#!/bin/sh
mv /var/log/messages /var/log/messages.1
mv /var/log/secure /var/log/secure. <strong>1</strong>
mv /var/log/maillog /var/log/maillog.1
mv /var/log/spooler /var/log/spooler.1 kill – HUP ` cat /var/run/syslogd.pid'

Файл сценария (например, /usr/local/bin/newlogs) создается в текстовом редакторе, затем преобразуется в выполняемый файл.

# chmod 755 /usr/local/bin/newlogs

Далее, требуется внести соответствующую запись в файл crontab, воспользовавшись одним из двух методов, описанных ранее. Запись для запуска сценария каждое воскресное утро в 12.01 имеет следующий вид:

1 12 * * sun /usr/local/bin/newlogs

Примечание
В Red Hat Linux 7.1 ротационный процесс автоматизирован с помощью файла /etc/logro-tate .conf. Первые две команды этого файла выполняют ротацию журналов каждую неделю с использованием четырех недельных журналов. Например, вы можете располагать пятью журналами: /var/log/messages и с /var/log/messages по /var/log/messages. 4
.

Что дальше

В этой главе рассмотрен ряд полезных задач системного администрирования, связанных с пользователями, расписаниями и журналами.

Тема следующей главы – конфигурирование и работа с двумя наиболее популярными периферийными устройствами ПК – принтерами и модемами.

Мы рассмотрим конфигурирование принтеров PostScript и PCL, затем изучим принципы работы систем спулинга печати Linux/Unix.

Изучим конфигурирование модемов и программу minicom, предназначенную для тестирования и обеспечения работы модемов.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.