在Linux shell中,你可以使用find命令结合-mtime选项来定位某段时间之前的文件,并且结合文件名模糊搜索条件进行删除操作。以下是一个详细的步骤说明和代码示例: 1. 确定时间范围和文件名模糊匹配模式 首先,你需要确定要删除的时间范围(例如,删除30天之前的文件)和文件名模糊匹配模式(例如,以.log结尾的文件)。 2. 使...
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。 -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 options: -name 按照文件名查找文件。
--mtime +30 是设置时间为30天前 -type f 这周查找的类型为文件 然后加入crontab定时来删除: crontab -l 10 4 1 * * /bin/sh /root/soft_shell/delbak.sh 设定为每个月1号晚上4点10分执行脚本.当然你也可以根据你自己的需求去整. 相同的删除方法: find /root/sqlbak -mtime +30 -type f -name ...
rm -rf:强制删除文件,包括目录; {} ;固定写法,一对大括号+空格++; 二、计划任务: 1、创建shell文件 创建可执行shell文件 代码语言:javascript 复制 touch/data/shell/bin/del-30-days-ago-log.sh 添加文件可运行权限 代码语言:javascript 复制 chmod+x/data/shell/bin/del-30-days-ago-log.sh 2、shell文...
清理指定期间内所有文件同clearfile.sh 清理指定期间内固定大小文件 同clearfile.sh 其他文件日期格式清理 同clearfile.sh 模式1:DEL_FLAG=N 脚本只会把文件按天/按月归档到以时间命名的文件夹内,如 模式2:DEL_FLAG=Y 把文件归档成压缩文件*tar.gz,并删除归档的文件夹 ...
# 删除tmp目录下3天前所有子文件,如果不带*,则会干掉此非空目录 /usr/bin/find /data/htdocs/test.cn/data/tmp/* -mtime +3 -ls [正常情况下:atime 与 mtime所找到的文件个数是相等的] shell脚本举例: 文件名: test.sh 内容如下: # 删除三天前,遗留的dump文件 ...
需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据。 可以使用下面一条命令去完成: 代码语言:javascript 复制 find/home/lifeccp/dicom/studies-mtime+21-name"*.*"-exec rm-Rf{}\; 这个是根据时间删除。 下面简要解释一下,这句shell命令: ...
expired_time=3#此处定义文件的过期时间,如3天functiondeletefiles() { local currentDate=$(date+%s) #获取系统时间,所以时间格式为秒echo"current date is:"$currentDateforfilein$(#此处定义文件格式,避免误删,$1指的是下面deletefiles函 数的参数$data_pathfind$1-name"*.gz");dolocal name=$filelocal ...
linux 删除指定日期之前的文件 两种方法: 1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除。 find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} \; /email/v1_bak --设置查找的目录; -mtime +92 --设置时间为91天前; ...
删除10前的目录 finddir-mtime+10-typed |xargsrm-rf 1. dir是目标目录 注意:这里是删除若干天前没有修改的文件,如果目录内的文件有变化则不会影响mtime,目录同样会被删掉。如果仅仅是想删除若干天前的文件,请使用下一个命令。 删除10前的文件 finddir-mtime+10-typef |xargsrm-f ...