Perl для системного администрирования



              

Проблемы с пространством на диске - часть 2


Процесс

Perl

Переименуйте старые журналы, присвоив им следующий номер.

renamed или &File: :Copy: :move() если переносить файлы с одной файловой системы на другую.

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

kill () для программ, принимающих сигналы, system () или (обратные кавычки), если необходимо вызвать для этого другую программу.

Скопируйте или переместите файлы журналов, которые сейчас использовались, в другой файл.

&File: : Сору для копирования, rename( ), чтобы переименовать (или &File: :Copy: :move() при перемещении с одной файловой системы на другую).

Если необходимо, урежьте текущий файл журнала.

truncate () или open (FILE, "> filename").

Если необходимо, пошлите сигнал процессу о необходимости приостановить запись в журнал.

Шаг 2 из этой таблицы.

При желании сожмите или обработайте скопированный файл.

system( ) или обратные кавычки для запуска программы сжатия или другого программного кода, выполняющего обработку.

Удалите самые старые копии файлов.

stat( ), чтобы выяснить размер файла и даты, unlink( ) для удаления файлов.

На эту тему существует много вариаций. Все, кому не лень, писали собственные сценарии для ротации журналов. Так что не удивительно, что такой модуль существует. Рассмотрим модуль Logf lie: .Rotate Пола Гэмпа (Paul Gampe).

Logfile: : Rotate использует объектно-ориентированный подход для создания нового экземпляра объекта для журнала и для выполнения методов этого экземпляра. Сначала мы создаем новый экземпляр с заданными параметрами (табл. 9.3).

Таблица 9.3. Параметры Logflle::Rotate

Параметр

Назначение

File

Имя файла журнала для ротации

Count (необязательный, по умолчанию: 7)

Число хранимых копий файлов

Gzip (необязательный, по умолчанию: путь, найденный при сборке Perl)

Полный путь к программе сжатия gzlp

Signal

Код, выполняемый после завершения ротации, как в шаге 5 (табл. 9.2)

<


Содержание  Назад  Вперед