Могу ли я удалить все в /var/log
? Или я должен только удалить файлы (рекурсивно), /var/log
но оставить папки?
У кого-нибудь есть хорошая rm
командная строка? (Мои навыки администратора заставляют меня нервничать.)
Примечание: я использую Debian. Я не уверен, какая версия.
Ответы:
Вместо удаления файлов вы должны повернуть их, например, используя
logrotate
.Вы никогда не знаете, когда вам действительно понадобятся журналы, поэтому лучше их заархивировать (до разумного возраста, например, до 3 месяцев).
logrotate
может сжать ваши старые файлы журнала, чтобы они не занимали много места на диске.источник
Если вы удалите все в / var / log, вы, скорее всего, получите очень много сообщений об ошибках за очень короткое время, так как там есть папки, которые, как ожидается, будут существовать (например, exim4, apache2, apt, cups, mysql, samba и больше). Плюс: есть некоторые службы или приложения, которые не будут создавать свои файлы журналов, если они не существуют. Они ожидают, что будет хотя бы пустой файл. Таким образом, прямой ответ на ваш вопрос на самом деле "Не делай этого !!!" ,
Как указал Йоски, нет никаких оснований для этого. У меня запущены серверы Debian, в которых не было удалено ни одного файла журнала за последние годы.
источник
Удалить все файлы:
Удалить все .gz и повернутый файл
Попробуйте запустить команду без "-delete", чтобы проверить это.
источник
Я клонирую виртуальные машины от мастера. Имеет смысл очистить журнал мастера, чтобы при загрузке клонов вы не получили журнал мастера. Я сделал в tcsh:
который очищает журналы, но сохраняет файлы.
источник
Очистка всех журналов в системе Linux без удаления файлов:
Samba (
/var/www/samba
) создает имена файлов журнала с IP-адресами, вы можете удалить их:источник
cp /dev/null $CLEAN
на> $CLEAN
.Вы можете использовать опцию ctime, чтобы найти старые файлы ... например:
Как объясняет bindbn, сначала попробуйте найти файлы извлечения, а после используйте опцию delete: D
источник
/var/log
часто имеет разрешенияdrwxrwxr-x
, поэтому не доступен для записи пользователем, если пользователь не является пользователем root или не принадлежит к привилегированной группе. Это означает, что новые файлы журнала не могут быть созданы непривилегированными пользователями.Приложения, которые ожидают регистрации в какой-либо точке внутри
/var/log
, часто будут касаться файла, существующего где-то в/var/log
иерархии, во время установки (что часто происходит с повышенными привилегиями), и будутchmod
и, возможно,chown
в это время с разрешениями, подходящими для непривилегированных пользователей, которые будут используя приложение.Журналы Apache, например, обычно записываются пользователем
nobody
, который имеет как можно меньше привилегий, чтобы Apache мог выполнять свою работу, не подвергая систему чрезмерному риску. Но даже более заурядное приложение часто ожидает возможность записи в файл журнала/var/log
.Так что же произойдет, если лог-файл и путь к лог-файлу не существуют? Это полностью зависит от приложения. Некоторые приложения будут спокойно пропускать регистрацию. Другие создадут много предупреждений. А другие просто выручат. Там нет жесткого правила; это зависит от бдительности разработчика приложения, а также от того, насколько критично разработчик считает, что он может вести журнал. В лучшем случае приложение будет пытаться либо выполнить запись, либо, возможно, создать, а затем записать в файл журнала в месте назначения
/var/log
, и окажется, что оно не сможет этого сделать, поскольку оно выполняется пользователем, у которого нет прав для записи в него. эта часть файловой системы.Таким образом, короткий ответ - нет, не удаляйте все, что есть,
/var/log
- это нарушает условия контрактных пользователей с достаточными привилегиями, чтобы делать такие вещи с приложениями, работающими в их системе, и вызывает некоторый шум, некоторый тихий сбой при регистрации и какая-то тотальная поломка.Надлежащее действие - настроить
logrotate
с помощью соответствующих файлов конфигурации. Обычно ротация будет связана с заданием cron. Вращение может быть основано на интервале, или на основе размера, или на обоих. Можно даже настроить правила, которые избегают ротации на основе интервалов, если файл журнала все еще пуст после истечения интервала. Ротация может включать рассылку файлов журналов, сжатие, удаление, уничтожение и т. Д.Обычному пользователю не нужно слишком беспокоиться о ротации логов. Разработчики, вероятно, захотят убедиться, что для журналов, которые они используют, установлены правила ротации. На самом деле, разработчики, вероятно, установят ротацию журналов во время установки для любых программно-специфических журналов, которые будут создаваться и записываться программным обеспечением.
источник
Я реализовал простой очиститель здесь:
https://github.com/Lin-Buo-Ren/Coward-Unix-Log-Cleaner
Это просто:
/var/log
^.*/.+\.[[:digit:]]+(\.[[:alpha:]]+)?$
^.*/.+\.old$
(без учета регистра)/var/log
^.*/.+\.log$
(без учета регистра)источник
создайте исполняемый скрипт и попробуйте запустить от имени пользователя root, если sudo не работает для вас
источник