使用rsync实现远程备份

鸡蛋不能都放在一个篮子里,数据备份的重要性不言而喻。把数据库文件、视频、图片文件同步备份到其他机器上是不可缺少的重要环节,没有备份机制的系统都是耍流氓。

远程linux服务器端安装rsync

debian | ubuntu 系统

sudo apt install rsync

centos系统

sudo yum install rsync

创建rsync用户和组

sudo adduser --system --group rsync

创建 /etc/rsyncd.conf 文件

sudo nano /etc/rsyncd.conf

写入以下内容

uid = rsync
gid = rsync
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log

[mysql]
path = /root/edu-docker/mysql/data/backup
read only = true
auth users = rsync
secrets file = /etc/rsyncd.secrets

[upload]
path = /data/upload
read only = true
auth users = rsync
secrets file = /etc/rsyncd.secrets

[record]
path = /data/record
read only = true
auth users = rsync
secrets file = /etc/rsyncd.secrets

创建 /etc/rsyncd.sercets 文件

sudo nano /etc/rsyncd.secrets

指定用户和密码,使用 : 分隔

rsync:1qaz2wsx3edc

修改 /etc/rsyncd.serects 权限

sudo chown root:rsync /etc/rsyncd.secrets
sudo chmod 0640 /etc/rsyncd.secrets

启用并启动 rsync

sudo systemctl enable rsync
sudo systemctl start rsync

本地windows备份端安装rsync

前往 https://itefix.net/cwrsync 下载 cwrsync 客户端,最新版下载地址如下:

https://itefix.net/dl/free-software/cwrsync_6.3.0_x64_free.zip

(1)解压文件,并重名目录为 cwrsync,假设最终目录为:C:\koogua\cwrsync

(2)在 cwrsync 目录中创建 rsync_password.txt 文件,写入前面远程服务器端 /etc/rsyncd.sercets 中同样的密码。注意: 此处不需要用户名,只需要密码。

(3)设置 rsync_password.txt 的文件权限,右键属性 -> 安全 -> 用户或组,把除当前用户以外的用户或组权限都删除。

(4)在 cwrsync 目录下创建 rsync.bat 文件,写入内容如下,根据实际情况调整参数。

@echo off

set RSYNC_DIR=C:\koogua\cwrsync

set RSYNC_EXE=%RSYNC_DIR%\bin\rsync.exe

set PASSWORD_FILE=%RSYNC_DIR%\rsync_password.txt

set REMOTE_USER=rsync

set REMOTE_HOST=192.168.100.111

set LOCAL_DIR= /cygdrive/C/koogua/backup

%RSYNC_EXE% -avz --delete --password-file="%PASSWORD_FILE%" rsync://%REMOTE_USER%@%REMOTE_HOST%/mysql %LOCAL_DIR%/mysql

%RSYNC_EXE% -avz --delete --password-file="%PASSWORD_FILE%" rsync://%REMOTE_USER%@%REMOTE_HOST%/upload %LOCAL_DIR%/upload

%RSYNC_EXE% -avz --delete --password-file="%PASSWORD_FILE%" rsync://%REMOTE_USER%@%REMOTE_HOST%/record %LOCAL_DIR%/record

pause

注意: LOCAL_DIR=/cygdrive/C/koogua/backup 是转换后的路径,不然 rsync 不能识别, 实际的路径是:C:\koogua\backup,请模仿自行转换路径。

(5)设置计划任务

Win + R 快捷键打开运行,输入 taskschd.msc,回车打开计划任务面板,创建一个任务,设置执行频率为每小时执行一次,程序执行路径为:C:\koogua\cwrsync\rsync.bat

我的开源项目

酷瓜云课堂-开源知识付费解决方案


鸠摩智首席音效师
472 声望9 粉丝

身强体健,龙精虎猛的活着。


引用和评论

0 条评论