把数据库文件、视频、图片文件同步备份到其他机器上是不可缺少的环节,没有备份机制就是耍流氓。
远程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
我的开源项目
- course-tencent-cloud(酷瓜云课堂 - gitee仓库)
- course-tencent-cloud(酷瓜云课堂 - github仓库)