查找命令+根据目录时间戳删除旧目录

时间:2014-12-03 08:14:33

标签: linux find

我想删除超过180天的目录

例如超过180天的目录:

drwxr-xr-x 2 root root 4096 Oct  1  2009 nis
drwxr-xr-x 3 root root 4096 Nov  4  2012 pkgs

我使用这个命令:

find /var/tmp  -depth -mindepth 1 -type d -ctime +180  -exec rm -rf {} \;

运行find命令后,我看到旧目录仍然存在

请告知我的find命令有什么问题?

[root@vm1 /var/tmp]# ls -ltr
total 20
drwxr-xr-x 2 root root 4096 Oct  1  2009 nis
drwxr-xr-x 3 root root 4096 Nov  4  2012 pkgs
drwxr-x--- 2 root root 4096 Dec  3 08:24 1
drwxr-x--- 2 root root 4096 Dec  3 08:41 2
drwxr-x--- 2 root root 4096 Dec  3 08:41 3

[root@vm1 /var/tmp]# find /var/tmp  -depth -mindepth 1 -type d -ctime +180  -exec rm -rf {} \;

[root@vm1 /var/tmp]# ls -ltr
total 20
drwxr-xr-x 2 root root 4096 Oct  1  2009 nis
drwxr-xr-x 3 root root 4096 Nov  4  2012 pkgs
drwxr-x--- 2 root root 4096 Dec  3 08:24 1
drwxr-x--- 2 root root 4096 Dec  3 08:41 2
drwxr-x--- 2 root root 4096 Dec  3 08:41 3

我也尝试这个(但不删除旧目录)-mtime只将旧目录的日期更改为当前日期

   find /var/tmp  -depth -mindepth 1 -type d -mtime +180  -exec rm -rf {} \;

1 个答案:

答案 0 :(得分:1)

-t按修改时间排序

尝试

find /var/tmp  -depth -mindepth 1 -type d -mtime +180  -exec rm -rf {} \;

更新:删除选项深度和mindepth