RCLONE 官方提供了一键安装脚本
curl https://rclone.org/install.sh | sudo bash
rclone config
备份脚本编写及授权
创建脚本文件:
mkdir /home/Backup
chmod +x /home/Backup
touch /home/Backup/backup.sh
vi /home/Backup/backup.sh
脚本文件内容示例如下,不需要的功能自行在前方加上 #号注释掉,删除几天前的备份,数字自行修改即可。其他内容自行按需修改成自己的即可:
#!/bin/bash
# 定义 GOOGLE DRIVE 的备份目录
GD_PATH="GdriveBackup:Backup"
# 定义备份的目录及文件,不同的目录用空格分开
BACKUP_SRC="/home/wwwroot/omo.moe/usr"
# 定义临时文件存放目录
BACKUP_DST="/home/Backup"
# 设置 MYSQL 基本信息
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
# 备份 mysql 数据库
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --databases $BACKUP_DATABASE > $BACKUP_DST/$NOW-auto-Databases.sql
# 使用 rclone 上传到 google drive
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
# 删除 5 天前的备份
rclone delete $GD_PATH/ --include "$OLD-auto-Databases.sql" --include "auto_fileData_$OLD.zip"
使用 chmod 指令赋予执行权限:
chmod +x /home/Backup/backup.sh
三、创建自动备份任务并测试
使用 crontab 每天 4 点定时执行自动备份脚本:
crontab -e
复制以下内容粘贴并输入:wq 保存:
0 4 * * * /bin/bash /home/Backup/backup.sh >/dev/null 2>&1
手动测试看看脚本是否正确运行:
bash /home/Backup/backup.sh
时区设置为东八区:
timedatectl set-timezone Asia/Shanghai
重启定时任务:
service crond restart
重启系统日志:
service rsyslog restart
最后观察下系统日志尾巴状态,是否时区已经调整成功:
tail -f /var/log/cron
正文完