如何删除unix中的特定文件
How to delete specific files in unix
我们的服务器实例在 /wslogs/instance_name
目录下有一些文件,这些都是每天创建的日志文件。
我正在寻找一个脚本来根据日期自动删除这些文件。
所以假设删除超过 10 天的文件。问题是文件名不是纯粹的日期格式,而是
hostname_%m%d%Y_access.log and hostname_%m%d%Y_error.log
例如,ra70960708_12042016_access.log
和 ra70960708_12042016_error.log
(其中 ra70960708
是服务器名称或主机名)。
我正在尝试使用 rm
命令,但无法弄清楚如何在此处指定文件,如果我说我必须删除那些比当前日期早 10 天的文件。
如有任何帮助,我们将不胜感激。
干杯,
阿什莉
忘了名字,改用修改时间:
下面将列出当前目录中与 glob 匹配的文件:hostname_*_error.log
以及在 +10 天前最后修改的文件:
find . -maxdepth 1 -mindepth 1 \
-type f -name 'hostname_*_error.log' \
-mtime +10
然后可以用 -delete
删除它们。
.
是要搜索的目录。
我们的服务器实例在 /wslogs/instance_name
目录下有一些文件,这些都是每天创建的日志文件。
我正在寻找一个脚本来根据日期自动删除这些文件。 所以假设删除超过 10 天的文件。问题是文件名不是纯粹的日期格式,而是
hostname_%m%d%Y_access.log and hostname_%m%d%Y_error.log
例如,ra70960708_12042016_access.log
和 ra70960708_12042016_error.log
(其中 ra70960708
是服务器名称或主机名)。
我正在尝试使用 rm
命令,但无法弄清楚如何在此处指定文件,如果我说我必须删除那些比当前日期早 10 天的文件。
如有任何帮助,我们将不胜感激。
干杯,
阿什莉
忘了名字,改用修改时间:
下面将列出当前目录中与 glob 匹配的文件:hostname_*_error.log
以及在 +10 天前最后修改的文件:
find . -maxdepth 1 -mindepth 1 \
-type f -name 'hostname_*_error.log' \
-mtime +10
然后可以用 -delete
删除它们。
.
是要搜索的目录。