我正在尝试使用find命令删除早于1天(创建日期)的备份文件夹,但是它不起作用
文件夹ls -l:
drwxrws---+ 2 root data 42 Mai 15 16:46 15-05-2019
drwxrws---+ 2 root data 89 Mai 16 14:19 16-05-2019
创建日期为15 Mai。
此cmd应该起作用:
find /data/backup/VMs/centos/ -type d -mtime +1 -exec rm {} \;
我首先尝试了此操作,以了解删除之前发生的情况:
find /data/backup/VMs/centos/ -type d -mtime +1 -exec ls {} \; >> find_test.txt
它应该将要删除的文件夹写入文件,但txt文件为空。
除了使用查找之外,如何使用名称中的日期删除此文件夹?
答案 0 :(得分:0)
rm
通常不会在标准输出上打印,但是,如果发生错误,则会打印为标准错误,也可以将其重定向到另一个文件或复制文件描述符2>&1
的相同错误>
find /data/backup/VMs/centos/ -type d -mtime +1 -exec ls {} \; >> find_test.txt 2>&1
要打印名称,可以使用find -print
操作,还可以找到具有操作-delete
和-ls
(与ls并不完全相同)的操作,以避免在每个文件
find /data/backup/VMs/centos/ -type d -mtime +1 -print -delete >> find_test.txt 2>&1
在使用-delete
之前要小心,以免丢失不需要的文件