
Я новичок в UNIX/LINUX.
Мой файл журнала Postfix находится в /var/log/maillog, вчера я очистил файл с помощью команды «1,$d», а затем «:wq!» из vi, поскольку содержимое слишком велико для чтения, но затем все взаимодействия Postfix не регистрируются в этом файле.
Я пытаюсь удалить этот файл и создать его заново, но безуспешно.
Кто-нибудь может мне помочь решить эту проблему?
Спасибо.
С наилучшими пожеланиями.
решение1
Если вы удалите файл, на который у какого-либо процесса есть дескриптор файла (который он использует для записи в файл), но не перезапустите процесс, выполняющий запись, то он продолжит запись в старый файл.
Это распространенная ошибка, которую допускают новые администраторы Unix: они могут попытаться освободить место на диске, удалив очень большой файл журнала, не понимая, что на самом деле это место недоступно, пока файл не будет закрыт.
Я подозреваю, что произошло (за одну ночь) следующее: ваш процесс syslog был заблокирован cronjob, в результате чего все файлы были закрыты и открыты заново.
В будущем более безопасным способом обрезать файл журнала, который вам на самом деле не нужен, будет сделать следующее:
> /var/log/этот_файл_журнала