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


Работа с дисковыми квотами


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

Существует другой, более активный подход: квоты на файловые системы. Квоты, или ограничения операционной системы, позволяют ограничить объем дискового пространства, отведенный определенному пользователю. Квоты существуют в Windows 2000 и во всех современных разновидностях Unix. В NT4 для этого необходимы продукты сторонних разработчиков, а в MacOS для пользователей существует понятие S.O.L. (Simply or Sore Out of Luck - просто не повезло).

И хотя это активный подход, поддерживать его гораздо сложнее, чем «чистящие» сценарии, поскольку он применяется ко всем файлам, а не только к лишним, например, к core-файлам. Большинство системных администраторов считают лучшей стратегией использовать комбинацию автоматических «чистящих» сценариев и дисковых квот. Первое помогает ограничить использование второго.

В этом разделе мы поговорим о работе с дисковыми квотами в Unix средствами Perl. Перед тем как перейти к конкретному разговору, нужно понять, как квоты устанавливаются и как их можно ввести вручную. Чтобы сделать возможным применение квот в файловой системе, системный администратор Unix обычно добавляет запись в таблицу смонтированных файловых систем (например файл /etc/fstab или /etc/ufstab) и перезагружает систему либо вручную вызывает команду, разрешающую использование квот (обычно quotaon).

Вот пример файла /etc/vfstab из Solaris:

{(device device mount FS fsck nou'it

#to mount to fsck point 'ype \.<Uijot op

Параметр rq в последнем столбце включает квоты для файловой системы. Хранятся они для каждого пользователя отдельно. Для просмотра информации о квотах пользователя на всех смонтированных файловых системах, на которых квоты применяются, надо вызвать команду quota:




Начало  Назад  Вперед