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