写一个sh脚本,包含以下内容: 1.如果/root/backup/programLogs目录不存在,创建此目录 2.如果/opt/logs目录不为空,使用tar命令将/opt/logs目录压缩、压缩包名称为programLog+日期,并放置到/root/backup/programLogs目录下 3.删除/root/backup/programLogs目录下创建日期在180天以前的文件
时间: 2023-07-21 13:08:47 浏览: 139
备份文件的shell脚本
下面是一个包含你所需内容的Shell脚本:
```bash
#!/bin/bash
backup_dir="/root/backup/programLogs"
logs_dir="/opt/logs"
# 创建备份目录
if [ ! -d "$backup_dir" ]; then
mkdir -p "$backup_dir"
fi
# 压缩/opt/logs目录并放置到备份目录下
if [ -n "$(ls -A $logs_dir)" ]; then
backup_file="$backup_dir/programLog$(date +%Y%m%d).tar.gz"
tar -zcf "$backup_file" "$logs_dir"
fi
# 删除180天以前的文件
find "$backup_dir" -type f -mtime +180 -exec rm {} \;
```
将上述内容保存为一个.sh文件,比如`backup_script.sh`,然后在终端中运行如下命令来执行脚本:
```bash
chmod +x backup_script.sh
./backup_script.sh
```
这样,脚本就会按照你的要求创建目录、压缩文件,并删除180天以前的文件。请确保在执行脚本之前,你具备适当的权限来创建目录和删除文件。
阅读全文