烂泥:Linux系统与windows系统文件同步

简介:

上篇文章中,我们介绍了有关Linux系统之间的文件同步,这篇文章我们来介绍下,有关Linux系统与windows系统,以及windows系统与windows系统之间的文件同步。

这篇文章我们需要分三个部分进行讲解:

1、 windows系统同步文件到Linux系统

2、 Linux系统同步文件到windows系统

3、 windows与windows系统之间的文件同步

一、windows系统同步文件到Linux系统

要使windows系统下的文件同步到Linux系统,我们需要安装rsync的windows客户端cwRsync。

cwRsync我们可以去下面这个连接进行下载:

https://www.itefix.net/cwrsync

当然,我们也可以去这个连接下载《cwRsync5.4.1客户端》。

目前cwRsync的版本是5.4.1,我们下载解压后配置下,就可以正常使用。如下:

clip_image001

注意:图中的cwrsync.cmd文件,我们可以双击该文件进行配置cwRsync,也可以自行进行配置。但是通过我的实际验证该文件不能成功配置cwRsync,所以建议手工进行配置。

其实配置就是把目前cwRsync所在的路径加入到系统的环境变量中。

手工配置如下:

clip_image002

clip_image003

通过上图,我们可以看到rsync客户端cwRsync已经安装完毕。

注意:windows下的rsync客户端与Linux下rsync客户端配置是一样的,只是在路径中有不同之处。

下面就开始配置rsync客户端,创建rsync的密码文件,如下:

clip_image004

rsync服务端的配置与《烂泥:linux文件同步之rsync学习(一)》这篇文章同一个环境。

我们现在的要求是把rsync客户端E:\www文件夹下的文件同步到rsync服务器上。

rsync服务器是192.168.199.247,rsync客户端为192.168.199.245。

rsync服务器已经正常运行,相关配置文件如下:

clip_image005

clip_image006

下面我们的所有操作都是在rsync客户端上进行的,执行如下命令:

rsync -avz --delete --progress /cygdrive/e/www apache@192.168.199.247::www --password-file=/cygdrive/e/rsyncd.password

注意:上述命令行中的/cygdrive/e/表示windows系统的E盘,/cygdrive/e/rsyncd.password表示E盘下的rsyncd.password文件

clip_image007

clip_image008

通过上图,我们可以很明显的看到windows系统的文件已经同步到Linux系统上了。

但是这个同步还是有一个缺点的就是不能实时同步,windows系统不像Linux系统那样支持inotify。

但是我们可以通过windows自带的任务计划,让系统自行进行同步。尽管这个和服务器还是有一定的时间差的,但是有总比没有好。

我们可以把上述命令,写到一个批处理文件中,然后在任务计划中进行配置。如下:

clip_image009

clip_image010

二、Linux系统同步文件到windows系统

要把Linux系统文件同步奥windows系统,需要我们在windows系统上配置rsync服务端,即安装cwRsyncserver。

cwRsyncserver目前网络上的免费版本为4.1.0,我们可以去这个连接下载《cwRsync_server4.1.0下载》。

cwRsyncServer下载完毕后,进行安装即可。其中有一点需要注意,就是在安装的过程中,会出现如下的提示:

clip_image011

这个对话框是要你输入cwRsyncServer在系统中新建用户的用户名及密码。

cwRsyncServer安装完毕后,我们就可以在windows的服务中看到rsync服务。如下:

clip_image012

rsyncserver安装完毕后,我们现在来配置rsyncserver。windows下rsyncserver的配置和Linux下rsync服务配置没有多大的区别。

rsyncserver安装完毕后,配置文件已经形成。我们可以在其的安装目录下看到。如下:

clip_image013

我们现在来修改rsync的配置文件rsyncd.conf,如下:

use chroot = false

strict modes = false

hosts allow = *

log file = rsyncd.log

[www]

path = /cygdrive/e/www/

ignore errors

read only = no

list = no

hosts allow = 192.168.199.0/255.255.255.0

auth users = apache

secrets file = /cygdrive/e/rsyncd.password

clip_image014

配置文件rsyncd.conf修改完毕后,我们来创建www模块的同步文件夹,如下:

clip_image015

注意:同步文件夹创建完毕后,一定要把我们在前面安装rsyncserver时创建的用户,对该文件夹具有完全所有权。如下:

clip_image016

同步文件夹创建完毕后,我们再来创建同步时的密码文件,如下:

clip_image017

注意:该文件创建完毕后,一定要使用chmod命令修改其权限。这个和Linux系统上是一样的。

chmod命令在rsyncserver的bin目录下,我们可以直接使用。如下:

clip_image018

如果不使用chmod命令修改的话,回报以下的错误信息:

clip_image019

chmod 600 rsyncd.password

clip_image020

以上全部修改并配置完毕后,我们就可以启动rsyncserver,如下:

clip_image021

现在在Linux机器上检查是否可以正常连接,rsync服务端。如下:

clip_image022

通过上图,我们可以看到Linux机器是可以正常连接rsync服务端的。

现在我们开始在rsync客户端进行同步,如下:

rsync -avz /www/ apache@192.168.199.245::www --password-file=/etc/rsyncd.password

clip_image023

切换到rsync服务端,查看是否同步过来。如下:

clip_image024

通过上图,可以看到Linux已经把文件同步到windows系统中。

因为rsync客户端是Linux系统,所以我们也可以实时的把Linux系统的文件同步到windows系统上。

同步脚本如下:

#!/bin/bash

src=/root/www/

dest=www

ip=192.168.199.247

/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y%H:%M' --format '%T %w %f' -e modify,delete,create,attrib $src | while read DATE TIME DIR FILE;

do

filechange=${DIR}${FILE}

/usr/bin/rsync -avz --delete --progress $src apache@$ip::$dest --password-file=/etc/rsyncd.password &

echo "At ${TIME} on ${DATE}, file $filechange was backed up via rsynce" >>/tmp/rsync.log 2>&1

done

clip_image025

三、 windows与windows系统之间的文件同步

windows与windows系统之间的文件同步,我们只需要在windows系统上安装rsync相应的客户端与服务端即可。

rsync服务端192.168.199.245,rsync客户端192.168.199.244。

对于rsync客户端是windows系统的,我们的rsync服务端要进行一些修改否则会提示出错。出错信息如下:

clip_image026

我们需要在rsyncd.conf配置文件中加入uid和gid,如下:

clip_image027

然后重启rsyncserver即可。

rsync客户端测试rsync服务端,如下:

telnet 192.168.199.245 873

clip_image028

客户端创建完毕密码文件后,我们就可以来同步。如下:

rsync -avz /cygdrive/e/soft apache@192.168.199.245::www --password-file=/cygdrive/e/rsyncd.password

clip_image029

同步完毕后,我们来切换到rsync服务端查看,如下:

clip_image030

通过上图,我们可以看到rsync客户端确实已经把文件同步到rsync服务端上了。

注意:如果你在同步时,碰到系统一直提示输入密码,即使你在rsync同步命令中加入了密码文件。

这时我们就需要先建立密码文件rsyncd.password并把密码也存入到里面,然后在建议一个用于专门存储密码的文件passwd.txt。

passwd.txt文件与rsyncd.password文件的内容一模一样即可。如下:

clip_image031

然后使用如下的同步命令进行同步即可:

rsync -avz /cygdrive/e/soft apache@192.168.199.245::www --password-file=/cygdrive/e/rsyncd.password < E:\passwd.txt

注意:windows系统与windows系统之间目前还不能实现文件的实时同步,我们还只能通过任务计划来实现定时的同步任务。


本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/1606027

相关文章
|
1月前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
202 78
|
9天前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
60 23
|
14天前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
26天前
|
安全 网络协议 Linux
telnet在windows和linux上的使用方法
Telnet是一个简单且强大的网络工具,广泛用于远程管理和网络诊断。尽管存在安全风险,但在受控环境中,Telnet仍然是一个非常有用的工具。通过本文的介绍,您应该能够在Windows和Linux系统上安装并使用Telnet进行各种网络操作。
114 18
|
1月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
75 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
53 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
30天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
115 8
|
1月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
109 13
|
1月前
|
自然语言处理 安全 Java
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
49 6
|
1月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。