用Rclone自动备份服务器资料到Google Drive

这里需求很简单,就是每隔一定时间让VPS自动备份一下程序和数据库文件到Google Drive(反正Google Drive空间无限)。另外还要在Telegram上通知一下已经备份到位了,这样才心安。

Step 1. 准备工作

安装并配置Rclone;
从Telegram的@BotFather那里新建一个Bot,记录下TokenID;
从@GoogleVoiceComBot那里获得你自己的Telegram账号的ID。

Step 2. 新建脚本并赋予可执行权限

运行touch /root/ba ckup.sh && chmod +x /root/backup.sh && vim /root/backup.sh输入以下内容

#!/bin/bash
TOKEN="TokenIDOfBot"
CHAT_ID="UserIDOrGroupID"
SERVER_NAME="AnyStringToNameYourServer"

cur_month_day=$(date +%Y%m%d)
cd /
if [ -d "/root" ]; then
  rclone mkdir backup:ServerBackup/$SERVER_NAME/$cur_month_day
  rclone mkdir backup:ServerBackup/$SERVER_NAME/$cur_month_day/redis

  rclone copy -v --ignore-existing \
        --exclude '.*' \
        --exclude '/root/xiaomeng_tg_bot/ehForwarderBot' \
        --exclude '.cache/**' \
        --exclude 'result/' \
        --exclude 'vultr6z/' \
        root backup:ServerBackup/$SERVER_NAME/$cur_month_day >> ~/sycn2gdrive_$cur_month_day.log && \
        curl "https://api.telegram.org/bot$TOKEN/sendMessage?chat_id=$CHAT_ID&text=Done:All@$SERVER_NAME"

  rclone copy -v --ignore-existing \
        /var/lib/redis backup:ServerBackup/$SERVER_NAME/$cur_month_day/redis >> ~/sycn2gdrive_$cur_month_day.log && \
        curl "https://api.telegram.org/bot$TOKEN/sendMessage?chat_id=$CHAT_ID&text=Done:Redis@$SERVER_NAME" && \
        echo " Done"
fi

填入TOKEN,CHAT_ID,SERVER_NAME,并将Rclone命令部分按需修改后保存好 🙂

Step 3. 设置Crontab定时任务

输入crontab -e后,新添

0 */24 * * * /root/backup.sh >/dev/null 2>&1

从现在开始,每隔24小时会自动运行一下备份脚本,备份成功后你的Telegram还会收到一个提醒消息。想象下过几个小时有一个小鸡向你汇报进度的场景 🙂

可以使用,不定时分享有价值的信息
天时网 » 用Rclone自动备份服务器资料到Google Drive

发表评论

提供最优质的资源集合

立即查看 了解详情