VPS之间单向同步
rclone 单向实时同步 A→B 服务器自动化方案
场景
A服务器同步内容到B服务器(单向同步)
特点:
本地文件变化 → 延迟 5 秒同步
没有变化 → 每 1 小时强制同步一次
安装 rclone
首先在服务器 A 安装 rclone, 使用以下命令安装
1 | sudo -v ; curl https://rclone.org/install.sh | sudo bash |
生成密钥对
在服务器 A 生成密钥对,以及合并密钥,复制以下命令
1 | ssh-keygen -q -t rsa -b 4096 -C "rclone key" -N "" -f ~/.ssh/rclone |
会在 /root/.ssh/ 目录下生成 rclone.pub,rclone,以及 rclone-merged 三个文件
复制rclone.pub里面的内容,等下用到
1 | cat rclone.pub |
登录B服务器,粘贴rclone.pub里面的内容到/root/.ssh/authorized_keys
创建配置文件
注意:是在A服务器创建
1 | mkdir -p ~/.config/rclone |
粘贴以下内容
1 | [ovh] |
修改为你的服务器B的ip、ssh端口,注意:ovh表示B的服务器名称,可以随意命名,其他不变
同步脚本
以下操作均在A服务器运行
安装依赖
1 | sudo apt update |
下载同步脚本到A服务器
1 | curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rclone-sync.sh && chmod +x rclone-sync.sh |
修改同步目录
1 | nano rclone-sync.sh |
首次同步测试
./rclone-sync.sh
按ctrl+c 停止同步
后台运行
1 | loginctl enable-linger root |
如果下次修改了同步目录,需要再次运行
1 | ./rclone-sync.sh |
管理同步
下载管理脚本,在A服务器操作
1 | curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rclone_manage.sh && chmod +x rclone_manage.sh |
使用方法,例如
1 | ./rclone_manage.sh ovh:/www/wwwrot/blog |
后面跟着B务器名称+同步的路径
预览
1 | ========================================== |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 我的博客!
