Данный материал прислал
Roman Oreshnikov
В Солярисе присутствует штатная утилита для ротации логов, но можно ли
ей пользоваться? Проверим.
Тест N1
Дано:
Демон держит открытым файл и периодически туда что-то пишет.
Задача:
Ежедневно сохранять старые логи числом не более 10 на другом устройстве.
Решение:
Запишем командную строку для ротации:
#logadm -w Наш_файл -p 1d -a 'kill -HUB `cat Наш_pid`' -t 'Куда/$basename.$n'
Выполним ротацию:
#logadm Наш_файл
Проверка:
Ротация вроде бы выполнилась правильно, но:
1. Пропали последние строки из лога
2. Файл c именем Наш_файл временно отсутствовал в системе и некоторое
время владелец и права доступа к нему были не те
Тест N2
Дано:
Демон держит открытым файл и периодически туда что-то пишет.
Задача:
Ежедневно сохранять старые логи числом не более 10 на том же устройстве, где
и текущий но упакованные.
Решение:
Запишем командную строку для ротации:
#logadm -w Наш_файл -p 1d -a 'kill -HUB `cat Наш_pid`' -z 0
Выполним ротацию:
#logadm Наш_файл
Проверка:
Ротация вроде бы выполнилась правильно, но:
1. Пропали последние строки из лога
2. Файл c именем Наш_файл временно отсутствовал в системе и некоторое
время владелец и права доступа к нему были не те
Тест N3
Дано:
Каталог с заранее неизвестным числом разноименных файлов
Задача:
В целевом каталоге ротировать файлы более килобайта и хранить там же не
более 20 старых копий каждого файла
Решение:
Запишем командную строку для ротации:
#logadm -w НашаЗадача -s 1k -C 20 'НашKаталог/*'
Выполним ротацию:
#logadm
Проверка:
Ротация выполнилась правильно.
Проверка через неделю:
1. Отротировались непустые файлы с размером менее килобайта
2. Осталось не более 10 старых копий для каждого когда-либо
ротированного файла
Общий вывод можете сделать сами ...
PS Для тех, кто хочет лично убедиться, в приложении скрипт для тестирования
этих ситуаций.
logadmTest.sh
PPS Тестировалось:
# uname -prsv
SunOS 5.10 Generic_118833-20 sparc
# pkgchk -l -p /usr/sbin/logadm
Pathname: /usr/sbin/logadm
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: bin
Expected file size (bytes): 44528
Expected sum(1) of contents: 4489
Expected last modification: Feb 08 01:46:56 2006
Referenced by the following packages:
SUNWcsu
Current status: installed