需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据。
可以使用下面一条命令去完成:
1find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \
这个是根据时间删除。
下面简要解释一下,这句shell命令:
1find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \
/home/lifeccp/dicom/studies :准备要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} \:固定写法,一对大括号+空格+/+
当然也可以根据文件名、根据大小,根据其他不同条件过滤删除,或者修改等,可以考虑sort等命令结合使用。
说明:find 后面紧跟的 /root/logs 是要查找的目录,. 表示当前目录
-type f :指定查找对象为文件
-name "*" :指定查找对象名称为任意
-mtime +7 :查找7天以前的老文件
-exec rm -f {} \:执行删除命令,后面有个 {} \ 是必须的
要求删除一个月之前的备份文件,免得把硬盘给整爆了
location 是设置查找的目录
--mtime +30 是设置时间为30天前
-type f 这周查找的类型为文件
然后加入crontab定时来删除:
设定为每个月1号晚上4点10分执行脚本.当然你也可以根据你自己的需求去整.
相同的删除方法:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)