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 {} \\;我们看下⾯的执⾏的图⽰;
执⾏删除命令: