# 1.多文件夹下的日志清理
要求
- 编写shell脚本
- 查询路径下的文件夹名称
- 进入查询的文件夹,删除3天前的日志
- 过滤掉本身查询的路径
#!/bin/bash
# 设置要查询的路径
path="/path/to/directory"
# 获取当前日期三天前的日期
three_days_ago=$(date -d "3 days ago" %Y%m%d)
# 查询路径下的文件夹名称
folders=$(find "$path" -maxdepth 1 -type d)
# 循环处理每个文件夹
for folder in $folders; do
# 过滤掉路径中的斜杠,只获取文件夹名称
folder_name=$(basename "$folder")
# 判断文件夹是否为查询的路径本身
if [[ "$folder" != "$path" ]]; then
# 进入文件夹
cd "$folder"
# 删除三天前的日志文件
find . -maxdepth 1 -name "*.log" -type f -mtime 3 -delete
# 返回上一级目录
cd ..
fi
done
# 2.svn备份脚本
代码语言:javascript复制#!/bin/bash
# SVN仓库路径
svn_repo_path="/data/svn/xxx"
# 备份保存目录
backup_dir="/data/svn-backup"
# 备份文件名
backup_file="svn_backup_$(date '%Y%m%d').dump"
# 创建备份保存目录(如果不存在)
mkdir -p "$backup_dir"
# 进入SVN仓库目录
cd "$svn_repo_path" || exit
# 创建仓库备份
svnadmin dump . > "$backup_dir/$backup_file"
# 输出备份完成消息
echo "SVN仓库备份已完成,备份文件保存在:$backup_dir/$backup_file"
#备份到nas
cp -rf $backup_dir/$backup_file /share/svn_backup
#清理
find /share/svn_backup -mtime 60 -exec rm -rf {} ;