博客数据定期备份很重要,本文介绍使用 rclone 每天自动备份博客到 Google Drive。
一、安装 Rclone
1 2
| curl https://rclone.org/install.sh | sudo bash rclone config
|
二、创建备份脚本
1 2 3
| mkdir -p /home/Backup touch /home/Backup/backup.sh vi /home/Backup/backup.sh
|
备份脚本内容
1 2 3 4 5 6 7 8 9 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
| #!/bin/bash
GD_PATH="GdriveBackup:Backup"
BACKUP_SRC="/home/wwwroot/omo.moe/usr"
BACKUP_DST="/home/Backup"
MYSQL_SERVER="localhost" MYSQL_USER="root" MYSQL_PASS="your_password"
BACKUP_DATABASE="typecho_omo"
NOW=$(date +"%Y.%m.%d") OLD=$(date -d -5day +"%Y.%m.%d")
zip -r $BACKUP_DST/auto_fileData_$NOW.zip $BACKUP_SRC
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --databases $BACKUP_DATABASE > $BACKUP_DST/$NOW-auto-Databases.sql
rclone copy -v --stats 15s --bwlimit 40M $BACKUP_DST/ --include "$NOW-auto-Databases.sql" --include "auto_fileData_$NOW.zip" $GD_PATH
rm -f $BACKUP_DST/$NOW-auto-Databases.sql $BACKUP_DST/auto_fileData_$NOW.zip
rclone delete $GD_PATH/ --include "$OLD-auto-Databases.sql" --include "auto_fileData_$OLD.zip"
|
赋予执行权限
1
| chmod +x /home/Backup/backup.sh
|
三、创建定时任务
添加以下内容(每天凌晨 4 点执行):
1
| 0 4 * * * /bin/bash /home/Backup/backup.sh > /dev/null 2>&1
|
四、测试
1 2 3 4 5 6 7 8 9 10 11
| bash /home/Backup/backup.sh
timedatectl set-timezone Asia/Shanghai
service crond restart
tail -f /var/log/cron
|
参考