linux命令行删除N天前的数据的命令
命令: find . -mtime +N -type f -name "*.log.*" -exec rm -f {} \;
简单解释: find .查询 ;
-mtime 规定时间的一个参数,固定格式;
+N : N是指N天前;
-type f :类型文件;
-name: 名称;
"*.log.*" :要删除的文件的后缀名称,如果是删除全部,可以写"*";
-exec rm -f {} \ :固定格式,递归删除前面条件约束下的文件;
举例说明:
1:我现在要删除我的opt文件夹下的30天之前的所有数据,首先我先将目录切换到/opt下:
2:然后我现在先查询一下这个文件下的30天之前的文件有多少;然后发现只有ssh.log是7月19号的,剩下的三个都是一个月之前的数据,所以我们执行完命令之后应该只生育ssh.log文件;
3:我们执行之前先将重要的备份一下然后做测试,在公司的朋友们如果要删除东西之前也记得先备份;
4:现在我们来执行我们的删除的命令:find . -mtime +30 -type f -name "*" -exec rm -f {} \;当然我们可以在删除之前先查询一下自己find的文件是不是要删除的文件,也就是说我们先执行find . -mtime +30 -type f -name "*";然后再去执行find . -mtime +30 -type f -name "*" -exec rm -f {} \; 我们看下面的执行的图示;
执行删除命令: