cwRsyncServer安
1、下载安装rsync
https://www.backupassist.com/rsync/
这里安装路径改为 C:\rsyncserver\ICW
用户名winsync 密码123456
注意:这里密码必须是复杂的不然无法创建,会自动创建系统用户winsync,并服务中增加RsyncServer
2、编辑配置文件
UID = 0
GID = 0
use chroot = false
strict modes = false
read only = false
transfer logging = yes
log file = rsyncd.log
[giteafile]
path = /cygdrive/h/gitea/data/gitea-repositories
auth users = winsync
secrets file = etc/rsyncd.secrets
hosts allow = 192.168.0.0/255.255.255.0 #IP段请自行修改
hosts deny = *
list = false
C:\rsyncserver\ICW\etc 下创建 rsyncd.secrets 同步账号密码
winsync:123456
3、赋予同步目录权限,把安装时添加系统账号添加进来,并赋予全部权限
登录linux中
1、安装 rsync
yum install rsync –y
systemctl start rsyncd #启动
systemctl enable rsyncd #增加开机启动
2、创建 客户端 密码
echo "123456" > /root/passwd #同步时免密码
chmod 600 /root/passwd #修改权限
3、同步文件
linux拉取同步文件(linux ← windows)
giteafile 为配置文件中配置的目录
/usr/local/git/gitea-repositories 为linux目录
rsync -avz --password-file=/root/passwd winsync@192.168.0.20::giteafile /usr/local/git/gitea-repositories
linux推送同步文件(linux → windows)
rsync -avz /usr/local/git/gitea-repositories --password-file=/root/passwd winsync@192.168.0.20::giteafile
4、添加定时任务
crontab -e
每天凌晨1点执行
注意:/usr/local/git/gitea-repositories/ 最后的斜线,有则表示这个目录下的文件,没有则是这个目录
0 1 * * * rsync -avzut /usr/local/git/gitea-repositories/ --password-file=/root/passwd winsync@192.168.0.20::giteafile
每十分钟执行一次
*/10 * * * * rsync -avzut /usr/local/git/gitea-repositories/ --password-file=/root/passwd winsync@192.168.0.20::giteafile
-a --archive :归档模式,表示递归传输并保持文件属性。等同于"-rtopgDl"。
-v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息。
-z :传输时进行压缩提高效率。
-u --update :仅在源mtime比目标已存在文件的mtime新时才拷贝。注意,该选项是接收端判断的,不会影响删除行为。
-t --times:保持mtime属性。强烈建议任何时候都加上"-t",否则目标文件mtime会设置为系统时间,导致下次更新 :检查出mtime不同从而导致增量传输无效。
若删除目标中多余的文件需要加上这个
--delete :以SRC为主,对DEST进行同步。多则删之,少则补之。注意"--delete"是在接收端执行的,所以它是在 :exclude/include规则生效之后才执行的。