FreeBSD: переполение /var/spool/clientmqueue

Во FreeBSD система генерирует достаточно много сообщений по работе системы которые складываются в каталог /var/spool/clientmqueue
Если у Вас не настроена отправка уведомлений по электропочте, то постепенно раздел /var заполнятся, в результате чего могут быть такие неприятные вещи, как прекращение нормальной работы системы в целом, некоторых сервисов в частности. Чтобы это исправить:

1. Отключить sendmail в /etc/rc.conf

sendmail_enable="NONE"

или так:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

2. Очищаем очередь сообщений. Есть два варианта, можно использовать любой

Вариант №1
Удаление содержимого очереди. Добавляем в /etc/crontab

# Удаление очереди писем для sendmail
10 1 * * * root /usr/bin/find /var/spool/clientmqueue -type f -delete

Вариант №2
Отключаем генерацию сообщений.
Эти сообщения генерируются при выполнении задач periodic(man periodic), запускаемых через cron.
Их создание можно переопределить в /etc/periodic.conf (по умолчанию его нет и используется /etc/defaults/periodic.conf)

#cp /etc/defaults/periodic.conf /etc/periodic.conf

Меняем значение следующих опций с root на /dev/null

# cat /etc/periodic.conf|grep _output
daily_output="root"      # user or /file
daily_status_security_output="root"  # user or /file
weekly_output="root"     # user or /file
monthly_output="root"    # user or /file

Если удалить сообщения не удается

# rm -rf /var/spool/cilentmqueue/*
# can't delete file and show Argument list too long
/bin/rm: Argument list too long

То попробуем:

# rm -rf /var/spool/cilentmqueue
# mkdir /var/spool/cilentmqueue
# chown smmsp:smmsp /var/spool/cilentmqueue

Или так:

# cd /var/spool/clientmqueue
# ls| xargs rm -f