编写脚本backup.sh,可实现每周将/etc/目录备份到/backup/etcYYYY-mm-dd中 功能包括:1、创建/backup/etcYYYY-mm-dd文件夹 2、压缩备份/etc/*的内容 3、每周日上午2:15执行备份任务
时间: 2023-09-06 13:13:08 浏览: 100
好的,以下是 backup.sh 的脚本代码:
```
#!/bin/bash
# 获取当前日期
DATE=$(date +%Y-%m-%d)
# 判断是否为周日
if [ $(date +%u) -eq 7 ]; then
# 创建备份文件夹
mkdir -p /backup/etc$DATE
# 备份/etc目录
tar -czvf /backup/etc$DATE/etc.tar.gz /etc/*
echo "备份已完成"
else
echo "今天不是周日,无需备份"
fi
```
注意,这个脚本只能在 Linux 系统上运行,需要使用 root 权限运行。如果你需要每周日上午 2:15 执行备份任务,可以将以下内容添加到 crontab 中:
```
15 2 * * 7 /bin/bash /path/to/backup.sh
```
其中,`/path/to/backup.sh` 需要替换为实际的备份脚本路径。
相关问题
1. 编写脚本 backup.sh,可实现每日将 /etc/ 目录备份到 /backup/etc-YYYY-mm-dd文件中。
可以使用以下脚本实现备份:
```
#!/bin/bash
# 获取当前日期
DATE=`date +%Y-%m-%d`
# 备份目录
BACKUP_DIR="/backup"
# 目录备份文件名
BACKUP_FILE="$BACKUP_DIR/etc-$DATE"
# 备份命令
tar -czvf $BACKUP_FILE.tar.gz /etc/
```
该脚本使用 `date` 命令获取当前日期,然后将 `/etc/` 目录压缩到 `/backup/etc-YYYY-mm-dd.tar.gz` 文件中。可以将该脚本添加到 crontab 中,每天自动执行备份任务。
编写一个shell脚本,实现每日凌晨2点整将/etc/目录打包压缩到/root目录中,命名规则为etcYYYY-mm-dd.tar。
你可以创建一个简单的shell脚本来完成这个任务。这里是一个基本的示例,你可以将其保存为`daily_backup.sh`:
```bash
#!/bin/bash
# 指定当前日期
DATE=$(date +%Y-%m-%d)
# 定义源目录和目标文件名
SOURCE_DIR="/etc"
TARGET_FILE="/root/etc_$(echo $DATE).tar.gz"
# 使用tar命令备份并压缩源目录
tar -czf "$TARGET_FILE" "$SOURCE_DIR"
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "Backup completed successfully at $(date)"
else
echo "Backup failed!"
fi
# 使用crontab定时运行此脚本
# 将下面一行添加到你的 crontab 中,每天凌晨2点运行
# 0 2 * * * /path/to/daily_backup.sh
# 其中"/path/to/"替换为包含脚本的实际路径
# 这样,系统会在指定的时间自动执行这个脚本。
exit 0
```
为了让它能在每天凌晨2点执行,你需要编辑crontab,添加类似这样的行:
```sh
0 2 * * * /usr/bin/bash /path/to/daily_backup.sh
```
记得将`/path/to/daily_backup.sh`替换为你的实际脚本路径。
阅读全文