欢迎光临
我们一直在努力

你们是用 Rclone 往网盘里备份数据,还是用脚本往另一台机器上拉?

在个人站长的数据保护策略中,无论是选择将数据推送到异地云盘(如Google Drive, OneDrive),还是通过脚本从主服务器拉取数据到另一台机器,目标都是实现异地冗余备份。然而,对于大多数预算有限的站长而言,使用 Rclone 配合廉价或免费的云存储服务是效率最高、性价比最好的选择。本教程将详细指导你如何在 Linux VPS 上设置 Rclone,并利用 Cron 实现每日自动化备份。

步骤一:安装 Rclone

Rclone 是一个功能强大的命令行工具,支持超过50种云存储服务。推荐使用官方脚本进行安装,它会自动检测你的系统类型并安装最新版本。

# 运行安装脚本
curl -s https://rclone.org/install.sh | sudo bash

# 检查安装是否成功
rclone --version

步骤二:配置云存储连接

我们将以连接 Google Drive 为例。运行 rclone config,根据提示完成配置。这一过程需要你在本地浏览器进行授权操作。

rclone config

# 示例配置流程(选择n新建,输入名称如:googledrive,选择对应的存储类型如:drive)
# 之后它会生成一个URL,你需要复制到本地电脑的浏览器完成OAuth认证。

配置完成后,你可以在命令行中测试连接是否成功,并查看你云盘的根目录文件:

rclone lsd googledrive:

步骤三:创建备份脚本

为了确保备份过程的可靠性,我们使用 rclone sync 命令,它会同步源目录和目标目录,只传输变动的文件,效率极高。我们创建一个名为 daily_backup.sh 的脚本。

假设我们要备份 /var/www/html/ (网站文件) 和 /etc/nginx/ (配置) 到云盘的 vps_backup 目录下。

mkdir -p /root/scripts
cd /root/scripts
vi daily_backup.sh

写入以下内容,注意替换 googledrive 为你配置的远程名称。

#!/bin/bash

# 定义源目录 (请根据你的实际情况修改)
SOURCE_DIR="/var/www/html/"

# 定义远程目标和路径
REMOTE_NAME="googledrive"
REMOTE_PATH="vps_backup/website_data/"

# 定义日志文件
LOG_FILE="/var/log/rclone_backup_$(date +%Y%m%d).log"

# 执行 Rclone 同步操作
# --delete-excluded 确保删除目标目录中源目录已删除的文件
# --progress 可以在手动运行时看到进度,但Cron运行时可以去掉
rclone sync ${SOURCE_DIR} ${REMOTE_NAME}:${REMOTE_PATH} \
    --copy-links \
    --checksum \
    --transfers 4 \
    --checkers 8 \
    --log-file ${LOG_FILE}

# ------------------
# 数据库备份示例 (可选:将数据库dump到本地临时目录后再同步)
# mysqldump -u root -pPASSWORD your_db > /tmp/db_backup.sql
# rclone sync /tmp/db_backup.sql ${REMOTE_NAME}:vps_backup/database_dumps/
# rm /tmp/db_backup.sql
# ------------------

exit 0

赋予脚本执行权限:

chmod +x daily_backup.sh

步骤四:设置 Cron 定时任务

现在,我们使用 Cron Job 来安排脚本每天凌晨 3:00 自动运行。

打开 Cron 表:

crontab -e

在文件末尾添加以下一行:

0 3 * * * /root/scripts/daily_backup.sh >/dev/null 2>&1

这行代码的含义是:每天(*** * *)凌晨 3 点 0 分(0 3)执行 **/root/scripts/daily_backup.sh 脚本,并将所有输出和错误重定向到空,保持后台静默运行。你可以在 /var/log/ 目录下查看到每日生成的日志文件,以监控备份状态。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » 你们是用 Rclone 往网盘里备份数据,还是用脚本往另一台机器上拉?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址