Shell脚本——文件的备份,更新和回滚

15 篇文章 0 订阅

Shell脚本——文件的备份,更新和回滚

脚本

#!/bin/bash
read -p "请输入想要备份到的目录的绝对路径:" a
#这里用函数和变量都行,也可以不用
beifen () { 
rsync -arv /mnt/1.txt $a
}

gengxin () {
rsync -auvr -delete  /mnt/1.txt $a
}

huigun () {
rm -rf /mnt/1.txt
cp -rfp $a/1txt /mnt
}

read -p "请输入想要执行的操作(A:备份、B:更新、C:回滚):"  b
case $b in
A)
  beifen
  ;;
B)
  gengxin
  ;;
C)
  huigun 
  ;;
*)
  echo "no"
  exit
esac

执行

END

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个备份回滚脚本的示例,它可以备份指定目录下的文件,并在需要时还原到之前的备份版本。 ```bash #!/bin/bash # 定义备份目录 BACKUP_DIR="/backup" # 定义需要备份的目录 SOURCE_DIR="/var/www/html" # 获取当前时间作为备份文件名 TIMESTAMP=$(date +%Y-%m-%d-%H%M%S) BACKUP_FILE="$BACKUP_DIR/backup-$TIMESTAMP.tar.gz" # 备份指定目录 tar -czvf "$BACKUP_FILE" "$SOURCE_DIR" # 打印备份文件名 echo "Backup created: $BACKUP_FILE" # 定义还原函数 rollback() { # 获取最新备份文件名 LAST_BACKUP=$(ls -t "$BACKUP_DIR" | head -1) # 检查备份目录是否为空 if [ -z "$LAST_BACKUP" ]; then echo "No backup found." exit 1 fi # 解压备份文件到指定目录 tar -xzvf "$BACKUP_DIR/$LAST_BACKUP" -C "$SOURCE_DIR" # 打印还原成功消息 echo "Rollback to backup: $LAST_BACKUP" } # 如果第一个参数为 "rollback",则执行还原函数 if [ "$1" = "rollback" ]; then rollback fi ``` 该脚本首先定义了备份目录和需要备份的目录,并使用 `tar` 命令备份了指定目录。备份文件名使用当前时间戳生成,并打印了备份文件名。 在需要还原备份的情况下,脚本会执行名为 `rollback` 的函数。该函数会获取最新备份文件名,并使用 `tar` 命令将其解压缩到指定目录。解压缩完成后,打印还原成功的消息。 最后,脚本检查第一个参数是否为 "rollback",如果是,则执行还原函数。如果不是,则只进行备份操作。 你可以将该脚本保存为一个文件,比如 `backup.sh`,并通过 `./backup.sh` 命令来执行备份操作。如果需要还原备份,则可以使用 `./backup.sh rollback` 命令来还原最新备份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值