Есть ли простой способ очистить содержимое всех ".журнал" файл с помощью команды find.
В настоящее время я использую «echo -n> filename.log». Я пробовал echo -n> /var/application-logs/*.log, но он не работает ..
есть ли лучший способ очистить содержимое нескольких файлов?
Очистить все find /var/application-logs -type f -name "*.log"
находки, используйте это:
find /var/application-logs -type f -name "*.log" -exec tee {} \; </dev/null
Если ваша версия find поддерживает это, используйте +
вместо того \;
использовать один проход тройника для всех файлов. В качестве альтернативы, если достаточно шара оболочки:
tee /var/application-logs/*.log </dev/null
Если вы хотите, чтобы ваши журналы не росли, используйте logrotate
. Не следует слепо протирать журналы только потому, что они заполнены. Есть хорошие HOWTO доступен для многих разных дистрибутивов.
В качестве альтернативы рассмотрите возможность использования сервера системного журнала, такого как rsyslog
или syslog-ng
.