是否有一个简单的步骤来清除使用find命令的所有“.log”文件的内容。
目前我使用“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版本支持它,请使用+
而不是\;
为所有文件使用单一的T恤。 或者,如果一个shell glob就足够了:
tee /var/application-logs/*.log </dev/null
如果你想停止日志增长,使用logrotate
。 你不应该因为满的而盲目地擦日志。 有很多好的HOWTO可用于许多不同的发行版。
或者,考虑使用syslog服务器,如rsyslog
或syslog-ng
。