[root@nctest-snap-test-02 mysql]# find /data/backup/mysql/
/data/backup/mysql/ # 包含目录本身
/data/backup/mysql/01
/data/backup/mysql/02
/data/backup/mysql/03
[root@nctest-snap-test-02 mysql]#
就会包含目录本身!如果要对目录的时间进行匹配、删除,就可能将目录本身给删除。
问题解决:
所以,大概有2种解决方法。
方法1:使用 *
[root@nctest-snap-test-02 mysql]# find /data/backup/mysql/*
/data/backup/mysql/01
/data/backup/mysql/02
/data/backup/mysql/03
[root@nctest-snap-test-02 mysql]#
这样,也不包括目录本身,但是,也存在一个问题,当目录是空的时候会报错
[root@nctest-snap-test-02 mysql]# find /data/backup/mysql/*
find: ‘/data/backup/mysql/*’: 没有那个文件或目录
[root@nctest-snap-test-02 mysql]#
再看方法2:
使用 ! -path ,去除某些目录
[root@nctest-snap-test-02 mysql]# find /data/backup/mysql/ ! -path /data/backup/mysql/
/data/backup/mysql/01
/data/backup/mysql/02
/data/backup/mysql/03
[root@nctest-snap-test-02 mysql]#
如果目录是空的,也不会报错
[root@nctest-snap-test-02 mysql]# find /data/backup/mysql/ ! -path /data/backup/mysql/
[root@nctest-snap-test-02 mysql]#
建议第2种解决方法。