先放上手动备份的脚本命令,学习写了一下最基本的交互
vi /root/backupDebian.sh
然后按I粘贴,按Esc输入:wq保存

#给予执行权限
chmod +x /root/backupDebian.sh

#执行脚本 需要输入yes才继续
/root/backupDebian.sh

自行按照脚本内容修改备份到的目录。我之后继续完善一下

bash
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
echo "这个脚本是备份整个debian系统(耗时较久),确定要运行吗?" read -p "输入yes确认运行 输入其他退出:" yesOrNo echo "你的输入是: " $yesOrNo if [ ${yesOrNo} = "yes" ];then echo "输入【正确】,继续往下执行" else echo "输入【错误】,即将退出脚本" exit 0 fi echo "【开始备份】: "`date "+%Y-%m-%d %H:%M:%S"` echo "【不要断开SSH连接】若需要备份的目录较大,请耐心等待" echo "实测随身WIFI空间 2.9G/6.6G ,已用3.7GB,压缩后压缩包2GB,压缩用时27分钟,上传用时13分钟" #设置备份文件存放路径 目录和文件名 saveDir="/mnt/alist/阿里云盘/backup/随身WIFI/" #"/mnt/alist/阿里云盘/backup/随身WIFI/" nowDate=`date "+%Y-%m-%d"`"/" #再创建一个日期的文件夹,因为要放分卷包 mkdir $saveDir$nowDate #例如 /mnt/alist/阿里云盘/backup/随身WIFI/2022-12-27/ fileName=$saveDir$nowDate"debian.bak."`date "+%Y-%m-%d-%H-%M-%S"`".tar.gz." #最后有一个. 因为要打分卷包 xxx.tar.gz.03 比较好看 echo "【备份文件位置】: "$fileName #设置需要备份的目录 backupDir="/" #开始打包压缩备份 若想看到进度,可以使用 -zcpvf tar --exclude=/proc --exclude=/tmp --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run --exclude=/swapfile -zcpvf - $backupDir | split -d -b 300m - $fileName sleep 1s #延时1秒再展示 #展示备份文件信息,创建日期 大小等信息 ls -lh $saveDir$nowDate echo "【备份完毕】: "`date "+%Y-%m-%d %H:%M:%S"` echo "【备份文件位置】: "$fileName echo "解压/tmp/test/的xxx.tar.gz开头的分卷压缩包到指定目录(/为根目录)命令如下,会强制覆盖,但比压缩包多的文件不会删除" echo "cat /tmp/test/xxx.tar.gz* | tar zx -C /"