
как она это делает.
--------------------------------------
Всё описанное в этой статье исполнялось и проверялось на ос версии 10.6.1, на иных версиях детали могут различаться.
Различные периодические действия в системе исполняются при помощи системного агента launchd. Поскольку нужные нам действия предназначены для самой системы, то и файлы настроек этих процессов будут храниться в системной библиотеке.
Переходим в каталог /System/Library/LaunchDaemons, где нас будут интересовать файлы com.apple.periodic-*.plist
Таких должно быть три, а именно -daily, -weekly и -monthly

Как следует из названия они отвечают за исполнение ежедневных, еженедельных и ежемесячных процессов соответственно. Взглянем на дневной файл (а это обычный текст) при помощи QuickLook
Ключи параметра StartCalendarInterval определяют время запуска:
Hour: 3, Minute: 15
Соответственно шоу назначено на 3:15 ночи.
У еженедельного файла есть параметр Weekday: 6 для запуска только по субботам. Сразу понятно, что винить во всех смертных грехах системы именно евреев не приходится :)
У ежемесячного файла параметр Day:1 назначает запуск на 1е число каждого месяца.
А что-же, собственно, будет происходить? Ключ ProgramArguments указывает на /usr/sbin/periodic с параметрами daily, weekly или monthly.
Все, на этом из системной библиотеки можно выходить.
- periodic
- - это хорошо известная по BSD системам (1999 год) утилита для исполнения периодических действий.
Основной файл ее конфигурации хранится как /etc/defaults/periodic.conf, а исполняемые ею части - в /etc/periodic
Сам файл конфигурации разбит на секции соответственно периоду запуска, в каждой секции есть части, соответствующие исполняемым задачам. Если перейти в каталог дневных задач (в файндере нажать Shift-Command-G и ввести /etc/periodic/daily), то покажется список скрипов, пронумерованных для соблюдения порядка исполнения. Сами имена красноречиво свидетельствуют о своем назначении:

- 100.clean-logs : навести порядок в системных журналах (которые обычно доступны для просмотра из Console.app) - самые старые удалить, более новые заархивировать, И так по кругу
- 110.clean-tmps удаляет ненужные временные файлы в /tmp
- 130.clean-msgs, 140.clean-rwho, 199.clean-fax удаляют ненужные системные сообщения в /var/msgs, ошметки принятых и переданных факсов
- 310.accounting собирает системную статистику
- 400.status-disks накапливает информацию о состоянии дисковой системы
- 420.status-network выдает статистику по сетевым подключениям
- 999.local изначально пуст и предназначен для исполнения задач, определенных администратором локальной машины самостоятельно
еженедельные и ежемесячные задачи отличаются лишь параметрами к примеру: еженедельная задача архивирует журналы, а ежемесячная удаляет старье по итогам месяца
Отчеты об исполненных заданиях daily.out weekly.out monthly.out доступны для просмотра из утилиты Консоль (Console.app) - в дереве журналов в секции Файлов

2 коммент.:
Спасибо за информацию... надеюсь мой 10.5.8 тоже чистит свои ушки и лапки :)
Оч занимательно, но есть ряд утилит которые позволяют не ждать ночи... например MainMenu
Отправить комментарий