每年黑五都要买几个小鸡,然后为了不让小鸡吃灰呢,又给他们找了各自的小程序让他们跑起来,什么探针啊,Telegram机器人啊。然后的然后带来的直接问题是这些程序(很多修改过)和数据库备份越来越耽误时间了!

这里需求很简单,就是每隔一定时间让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还会收到一个提醒消息。想象下过几个小时有一个小鸡向你汇报进度的场景 :)

AD:G Suite Education全局管理员或者子号出售中!可联系博主

Last modification:January 9th, 2020 at 11:52 pm
如果觉得我的文章对你有用,请随意赞赏