rsync-win-to-liunx
实战:从windows同步数据到linux(增量定时同步)-2023.11.3(测试成功)
目录
[toc]
背景
把winodws某个目录数据同步到linux的某个目录下。
环境
bash
linux服务器:centos7.9.2009(rsync version3.1.2)win10(cwrsync_6.2.12_x64_free)#使用次最新版本即可
源码
- 修改rsync配置文件
[root@mkdocs-server html]# vim /etc/rsyncd.conf
bash
# /etc/rsyncd:configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# 进行通信的端口,如果 firewall 打开的话,需要将对应的端口添加进去port=8730# 日志文件logfile=/var/log/rsync.log# rsync 的进程 idpidfile=/var/run/rsync.pid# 要同步的模块,这里一般以项目名命名[cmi]# 同步的目标文件夹path=/root/rsync# rsync daemon 在传输前是否切换到指定的 path 目录下,并将其监禁在内,用于增加传输的安全性usechroot=no# 指定最大的连接数maxconnections=4# yes 表示只读本地文件无法同步到服务器readonly=no# 客户端请求显示模块列表时,该模块是否显示出来list=true# 服务运行时的用户uid=root# 服务运行时的用户组gid=root# 进行验证时的用户名,必须是系统存在的用户authusers=root# 连接用户时的密码secretsfile=/etc/rsyncd.passwd# 允许的 iphostsallow=*
注意:
bash
# 同步的目标文件夹path=/root/rsync# 连接用户时的密码secretsfile=/etc/rsyncd.passwd
- 创建相应目录
bash
# 1、创建目标的文件夹mkdir/root/rsync# 2、创建密码# 创建文件夹vim/etc/rsyncd.passwd# 写入密码echo"root:123456">/etc/rsyncd.passwd#这里写入你自己云服务器的密码就行!!!#更改文件权限chmod600/etc/rsyncd.passwd
2、windows上配置rsync client端
- 下载地址
4、配置winodws定时任务
1、新建D:\docusaurus\resource\shell\rsyncMdImages.bat
文件,填入以下内容
bat
::添加自己要执行的任务echoPush winodws docusaurus static data to ecs...rsync.exe -avPzruh --delete --port 8730--password-file=/cygdrive/D/password.txt /cygdrive/D/docusaurus/build root@47.97.48.237::cmi-wiki/
将该文件另存为rysnc.bat文件,编码为ANSI
注:如果编码为utf8,文本中的中文会出现乱码导致执行出错。
2、开启定时任务
批处理完成了,怎么来实现周期性的运行该脚本呢?windows自带了非常强大的定时任务功能。进入计算机管理(此电脑右键“管理”),在系统工具->任务计划程序->任务计划程序库中能看到你电脑所有的定时任务,右键可以创建基本任务。 (或者直接在cmd输入
compmgmt.msc
)
按图中输入名称及描述,点击下一步设置触发器(任务触发时间)
点击下一步设置任务执行操作,这里选择启动程序
选择刚才制作的bat脚本,点击下一步
点击完成创建任务
选择刚创建的任务,右键点击属性打开属性对话框,点击触发器并双击已设置的触发器设置任务重复执行
点击确定完成定时任务设置,右击任务启动任务。
- 自己最终配置效果如下
1、新建D:\docusaurus\resource\shell\docusaurus.bat
文件,填入以下内容
bat
::添加自己要执行的任务echoPush winodws docusaurus static data to ecs...rsync.exe -avPzruh --delete --port 8730--password-file=/cygdrive/D/password.txt /cygdrive/D/docusaurus/build root@47.97.48.237::cmi-wiki/