Назад | Перейти на главную страницу

Как очистить содержимое всех файлов с помощью команды find

Есть ли простой способ очистить содержимое всех ".журнал" файл с помощью команды 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.