Windows文件同步到Linux,定时同步

一、cwRsyncServer服务端配置

下载服务端cwRsyncServer

CwRsyncServer_V4.1.0_XiTongZhiJia.zip

解压cwRsyncServer_4.0.3_Installer.zip,双击cwRsyncServer_4.0.3_Installer.exe

我的电脑—右键管理—服务和应用—服务

找到RsyncSever,双击—启动

打开E盘,创建要备份的文件夹,此处取名为backup(此处是文件夹,不是文件)

右键单击backup文件夹,选择属性,切换到安全选项,点添加

输入:SvcCWRSYNC(上面注册的账号和密码,可自定义)

打开C:\Program Files\ICW目录

用记事本打开rsyncd.conf,修改添加以下内容(修改之前先备份,以防出错重改)

编辑rsyncd.conf文件,这个文件可以去查查还有哪些,这里只是最基础的设置,也够用了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uid = 0

gid = 0

use chroot = false

strict modes = false

log file = rsyncd.log

hosts allow = 192.168.163.30 60.204.202.97 192.168.2.10

port = 873



# Module definitions

# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work


[backup] #模块名称,可自定义

comment =backup

path = /cygdrive/f/app/joplin web/blog/source

hosts allow = 192.168.163.30 60.204.202.97 192.168.2.10
# 开启客户端上传文件权限read only = no
read only = no

auth users =rsync

secrets file = /etc/rsyncd.secrets

在C:\Program Files\ICW目录下面新建/etc/rsyncd.secrets文件

用记事本打开,输入用户名和密码

1
rsync:123456
  • Rsync客户端配置

安装rsync

sudo apt install rsync

在/etc/目录下创建文件rsyncd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uid = 0

gid = 0

use chroot = false

strict modes = false

log file = rsyncd.log

hosts allow = 192.168.163.30 60.204.202.97 192.168.2.10

port = 873

# Module definitions

# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work

在/etc/目录下创建密码文件rsyncd.secrets

1
123456

内容为:123456 (该密码与在Windows中的密码一致)
rsyncd.conf修改权限为600

sudo /usr/bin/rsync –daemon

sudo netstat -lntup |grep rsync

sudo ps -ef |grep rsync |grep -v grep

同步指令:同步到目录/home/zhou/backup

 sudo  rsync -avz –password-file=/etc/rsyncd.secrets  zhou@10.20.72.96::backup  /home/zhou/backup

该文件为只读文件

实现自动同步数据,手动编写一个小脚本。冒号后面的为在服务器端定义的模版

[root@localhost ~]# vim rsync.sh

#!/bin/bash

/usr/bin/rsync -avz –password-file=/etc/rsyncd.secrets <zhou@10.20.72.96::backup>  /home/zhou/backup

加入自动化备份

[root@localhost ~]# chmod +x /root/rsync.sh

[root@localhost ~]# crontab -e

*       *       *       *       *       /root/rsync.sh

在 crontab 文件中添加以下行来设置

每5分钟执行一次同步任务:

*/5 * * * * /root/rsync.sh

每两小时执行一次 rsync.sh 脚本:

0 */2 * * * /bin/bash /root/rsync.sh

每天凌晨两点执行 rsync.sh 脚本:

0 2 * * * /bin/bash /root/rsync.sh

保存并关闭文件。crontab 文件会自动保存并生效

问题解决方案

找不到chown、chmod
添加路径到系统变量
ee3a329996f43fb9dcc68ed81654d99f.png

报错
password file must not be other-accessible
continuing without password file

1
2
3
# 修改文件所属用户,请将Administrator改为自己电脑用户名
F:\app\CwRsync> .\chown.exe Administrator rsyncd.password

一些配置文件以供参考
Linux
都放在etc下
rsyncd.conf
rsyncd.secrets

Windows
rsyncd.password
--delete 保持文件一致
--password-file=/cygdrive/f/app/CwRsync/rsyncd.password 指定密码存放位置,应与Linux一致
rsync -avz –password-file=/cygdrive/f/app/CwRsync/rsyncd.password –delete /cygdrive/f/app/joplin_web/blog/source rsync@150.109.5.164::backup

9.21
优化rsync同步,修改了同步造成关于页丢失问题

vim /etc/rsyncd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
uid = 0

gid = 0

use chroot = false

strict modes = false

log file = rsyncd.log

hosts allow = 192.168.163.1

port = 873



# Module definitions

# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work

#



[po] #模块名称,可自定义

comment = p

path = /hexo/source/_posts/

hosts allow = 192.168.163.1

auth users =rsync
read only = no
secrets file = /etc/rsyncd.secrets

[resources] #模块名称,可自定义

comment = resources

path = /hexo/source/resources/

hosts allow = 192.168.163.1

auth users =rsync
read only = no
secrets file = /etc/rsyncd.secrets

Windows

1
2
3
4
Set-Location 'F:\app\web\'
npx mark-magic
rsync -avz --password-file=/ive/f/app/rsyncd.pard --delete /cygdrive/f/app/web/blog/source/_posts/ rsync@100.200.100.1::posts
rsync -avz --password-file=/ive/f/app/rsyncd.pard --delete /cygdrive/f/app/web/blog/source/resources/ rsync@100.200.100.1::resources

Desktop.zip


Windows文件同步到Linux,定时同步
http://example.com/2024/09/18/c4c5253da0d64554abfb263daa7db9d7/
作者
John Doe
发布于
2024年9月18日
许可协议