我正在设置一个 cron 作业,想要删除超过 1 天的日志文件。执行此操作的命令如下。我在 AWS Linux EC2 实例上执行此操作。
find /var/log/tomcat8/ -mindepth 1 -mtime +1 -delete
但我想要实现的是排除.log
文件不被删除,只想删除带.gz
扩展名的文件。有人能告诉我如何在 find 命令中实现排除吗?
答案1
向您的命令添加一个-name
标志,find
例如:
find /var/log/tomcat8/ -mindepth 1 -mtime +1 -name "*.gz" -delete
这应该会将其隔离为仅查找较旧的.gz
文件。要添加其他选项(例如要查找的另一种文件名类型),请使用 switch -o
,它的作用类似于选项上的“OR”语句。因此,如下所示:
find /var/log/tomcat8/ -mindepth 1 -mtime +1 -name "*.gz" -o -name "*.log" -delete