Взгляните на практическое руководство, которое я записал несколько лет назад. Хотя это не описывает начальную загрузку BSD, это действительно описывает весь процесс в довольно большом количестве деталей. Возможно, это помогает Вам в обнаружении, что пошло не так, как надо.
iptables использует средство системного журнала для входа. Отправьте SIGHUP в syslogd, ksyslogd, или rsyslogd, чтобы закрыть и вновь открыть файлы журнала.
Запись файла журнала не выполняется iptables. iptables, просто регистрируется к средству системного журнала ядра, и это до Вашей программы системного журнала для записи этого в файл журнала. При перемещении файла Вы по существу просто переименовываете его с точки зрения файловой системы. Ваш демон системного журнала понятия не имеет, что Вы сделали это и счастливо продолжаете писать в его открытый дескриптор файла. То, что необходимо сделать, перезагрузить демона системного журнала так, чтобы это вновь открылось, файл на основе его файловой системы соединяют каналом, и начинает писать в новый файл. Большинство демонов системного журнала поддерживает ловлю Сигнала HUP, чтобы сделать это и не требует полного перезапуска.
Необходимо использовать программу, такую как logrotate, который предварительно установлен с большинством дистрибутивов, для обработки вращения для Вас. Это умно об этом и поддерживает действия, такие как сигнальные демоны. Вам не нужно к сценарию самокрутки с этой целью.
Ваши файлы конфигурации для logrotate должны включать постповорачивать раздел, который перезагружает или системный журнал SIGHUPs или rsyslog или эквивалентный.
В моей системе, /etc/logrotate.d/rsyslog
содержит, среди прочего:
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
Вы можете сделать копию своего файла системного журнала:
cp -abf sys.log sys.log_bak
И переместить копию в любое желаемое место:
mv sys. log_bak /path/desired/sys.log_bak
И очистите содержимое исходного файла:
cat / dev / null> sys.log
После этого ваш исходный файл будет продолжать получать системные журналы; заменять его другим файлом не нужно.
kill -HUP 1660
(1660 = pid rsyslogd), и затем он начал писать новый журнал брандмауэра. – Jake Wilson 12 April 2010 в 20:25