Skip to content

rsync-win-to-liunx

实战:从windows同步数据到linux(增量定时同步)-2023.11.3(测试成功)

image-20231016062113861

目录

[toc]

背景

把winodws某个目录数据同步到linux的某个目录下。

环境

bash
linux服务器:centos7.9.2009(rsync version3.1.2)win10(cwrsync_6.2.12_x64_free)#使用次最新版本即可

源码

链接:https:rpm-qa|greprsync# 如果没有安装的话,进行安装yuminstallrsync-y# 将 rsync 设置成开启自启,并启动systemctlenablersyncdsystemctlstartrsyncdsystemctlrestartrsyncd

[root@mkdocs-server html]# vim /etc/rsyncd.conf

注意:

image-20230914223936222

2、windows上配置rsync client端

  • 下载地址

https:rsync.exe-avPzruh--delete--port8730--password-file=/cygdrive/D/password.txt/cygdrive/D/mkdocs/siteroot@47.97.48.237::cmi/-a:归档模式,用于保持文件的属性、权限、时间戳等。-v:显示详细输出,让您了解文件同步的进度和操作。-p:显示文件传输的进度条和实时速度。-z:在传输过程中压缩数据,减少网络带宽的使用。-r:递归复制目录及其内容。-u:只复制源中更新或新增的文件到目标目录。**注意:这个很有用的!!!-h:可读性大小。--delete:删除目标目录中不在源中存在的文件和目录。# cmi_password.txt 密码文件 写入 Linux 端配置的密码即可# cmi 指代模块,我们这边正好按照

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/

参考

https:t="1711730357270" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4392" width="16" height="16" >打赏支持