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 {} \; 我们看下面的执行的图示;

执行删除命令:

 

posted on 2018-07-20 18:40  晨哥  阅读(12131)  评论(0编辑  收藏  举报

导航