编写一个shell脚本,可以删除/backup目录下面创建时间超过3天的一级目录,不包括子目录,这些目录里面可能会有文件 ,如果目录里有文件 的话也直接删除,不需要人工确认,/backup可能不存在,/backup目录可能里面并没有任何子目录,
时间: 2023-01-30 19:07:10 浏览: 115
以下是删除/backup目录下面创建时间超过3天的一级目录的shell脚本:
```bash
#!/bin/bash
# 判断/backup目录是否存在
if [ ! -d "/backup" ]; then
echo "/backup目录不存在"
exit 1
fi
# 删除/backup目录下面创建时间超过3天的一级目录
find /backup -maxdepth 1 -type d -mtime +3 -exec rm -rf {} \;
echo "删除完成"
```
上面的脚本使用了find命令来查找/backup目录下面创建时间超过3天的一级目录,并使用rm命令删除这些目录。
- `-maxdepth 1`参数表示只查找一级子目录,不包括子目录的子目录。
- `-type d`参数表示只查找目录。
- `-mtime +3`参数表示只查找创建时间超过3天的目录。
- `-exec rm -rf {} \;`参数表示对查找到的每一个文件或目录执行rm -rf命令,删除文件或目录。
在使用find命令时,需要注意的是它会递归搜索整个目录树,因此如果目录下有大量的文件或子目录,它可能会执行很长时间,并占用较多的系统资源。因此,在使用find命令时,应尽量指定精确的查找条件,以减少查找的范围。
阅读全文