find "${log_dir}" -type f -name "*.log" -mtime +0 -delete这个还是删除七分钟以外的吗?
时间: 2024-04-26 09:23:21 浏览: 7
这个命令是删除log_dir目录下所有文件名为*.log,且修改时间(mtime)在0天以上的文件。其中-mtime +0表示修改时间在0天以上,也就是至少1天前修改过的文件会被删除。如果您想删除七分钟以外的文件,应该使用-minutes参数,例如:find "${log_dir}" -type f -name "*.log" -mmin +7 -delete。这个命令会删除log_dir目录下所有文件名为*.log,且修改时间在7分钟以上的文件。
相关问题
find "${log_dir}" -type f -name "*.log" -mtime +${max_days} -delete
这是一个 shell 命令,它的作用是删除指定目录下的一定时间范围内的日志文件。其中,`${log_dir}` 是一个变量,它的值会在命令执行时被替换为实际的目录路径;`${max_days}` 是一个变量,它的值表示最大的保留天数。
命令的具体含义如下:
1. `find "${log_dir}"`:在 `${log_dir}` 目录下查找文件。
2. `-type f`:只查找普通文件,不包括目录和设备文件等。
3. `-name "*.log"`:文件名匹配 `*.log` 的文件。
4. `-mtime +${max_days}`:最后修改时间在 `${max_days}` 天之前的文件。
5. `-delete`:删除符合条件的文件。
执行该命令会删除 `${log_dir}` 目录下最后修改时间在 `${max_days}` 天之前的所有 `.log` 后缀的日志文件。
find "${log_dir}" -type f -name "*.log" -mtime +${max_days} -delete所以是可以删除-name选项吗?
不是的,`-name "*.log"` 选项是用来匹配文件名的,它表示只匹配文件名以 `.log` 结尾的文件。这个选项是非常必要的,因为在 `${log_dir}` 目录下可能会有其他后缀名的文件,我们只想删除 `.log` 后缀的日志文件。
`-mtime +${max_days}` 选项是用来匹配文件修改时间的,它表示只匹配最后修改时间在 `${max_days}` 天前的文件。这个选项也是必要的,因为我们只想删除七天前的日志文件,而不是所有日志文件。
因此,如果你删除了 `-name` 选项,脚本可能会误删一些其他后缀名的文件,而如果你删除了 `-mtime` 选项,脚本可能会删除所有日志文件,而不仅仅是七天前的。