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

转:https://omo.moe/archives/616/

标签: none

添加新评论