定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)

简介:

 

由于需要对网络设备做备份,备份文件是放到windows机器上的。现在需要将备份数据同步到linux备份机器上,想到的方案有三种:

1
2
3
1)将windows的备份目录共享出来,然后在linux服务器上进行挂载,最后对挂载目录进行定时同步。这种方式不太安全。
2)使用tftp、 sftp 方式,也不太安全。
3)推荐通过 rsync 方式(cwRsyncServer_4.1.0_Installer),windows机器到windows机器之间的定期同步也使用这种方式。

下面简单介绍下使用rsync方式的同步过程:

一、windows上的操作记录
1)在windows server上安装配置Cwrsyncserver,按照提示一步步安装即可,需要注意下cwrsyncserver有个设置用户与密码的地方,要么就改为自己的用户名与密码。比如用户Administrator,密码:123456,这个用户名与密码是一会启动服务时需要的,也就是你服务器的用户名和密码,如果感觉不安全,可以考虑在WINDOWS中创建一个用户名和密码

2)配置rsyncd.conf 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use chroot =  false                  
strict modes =  false                #不验证用户密码,     
hosts allow = 192.168.1.90          #只允许ip为192.168.1.90的客户机来同步数据
max connections = 5                 #指定最大的连接数,默认是0即没有限制
lock  file  = rsyncd.lock
log  file  = rsyncd.log
port = 873                          #默认就是873,也可以指定为其他端口
pid = 0                             #pid和uid为0,表示指定匿名访问
uid = 0                          
    
[backup]                            #模块名字,这个可以自定义
path =  /cygdrive/d/Backup           #选择备份路径,不支持中文
read  only =  yes                     #只读模式
transfer logging =  yes
list = no
auth  users  = Administrator          #指定访问的用户名
secrets  file  /cygdrive/e/Setting/Rsync/rsync_db . ps    #指定访问的用户名密码
   
特别注意:
以上Windows目录的写法,应该按照POSIX风格来写,默认配置文件的写法cygwin貌似不工作,而要写成cygdrive,如上面D: /Backup ,要写成 /cygdrive/d/Backup

新建密码文件:E:\Setting\Rsync\rsync_db.ps

1
2
3
4
Administrator:PASSWD_123@bjk
注意:
此密码文件里的格式是 "用户名:密码" ,这个密码可以随意指定。但最好设置服务器的用户名和密码。如果觉得不安全,就另外创建一个用户名和密码,专门用于 rsync 同步之用。
但是千万要记得这个创建的用户名对E:\Setting\Rsync\rsync_db. ps 这个密码文件要有修改的操作权限。

3)启动cwrsync服务(注意: 如果开启了防火墙,则防火墙规则中要添加Tcp端口873允许通信)
右键 我的电脑->管理->服务与应用程序->服务->RsyncServer->右键 属性->登陆-> 在此帐户输入有效的用户名(域用户、要有权限管理E盘的用户名哦),密码和、再次确认密码;此处使用域管理员帐号与密码(如果用户和密码无权限或错误,将无法启动RsyncServer服务)。启动RsyncServer服务,并修改属性为自动,以便后续开机就启动此服务。

服务启动成功后,就可以配置linux客户端了。

二、linux客户端(192.168.1.90)上的操作记录
1)先查看下能否连通windows机器(192.168.1.101)的873端口(rsync端口)。如下表示连接正常!

1
2
3
4
[root@backup ~] # telnet 192.168.1.101 873
Trying 192.168.1.101...
Connected to 192.168.1.101.
Escape character is  '^]' .

2)进入Linux服务器,新建一个backup_passwd的文件,内容为在上面windows中RsyncServer中设定的密码内容:

1
2
3
4
[root@backup ~] # cd /root
[root@backup ~] # vim backup_passwd          #再将密码写入些文件中
PASSWD_123@bjk
[root@backup ~] # chmod 600 backup_passwd    #改下权限,只有root用户能看。

3)linux服务器上要安装rsync环境。这里将windows备份数据同步到linux的/Win_Back目录下(为了安全考虑,可以不添加下面命令中的--delete参数)

1
[root@backup ~] # rsync -av --progress --delete --port=873 --password-file=/root/backup_passwd Administrator@192.168.1.101::backup /Win_Back/

4)创建备份脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@backup ~] # mkdir /root/backup
[root@backup ~] # vim /root/backup/win_bak.sh
#!/bin/bash
#create by fengzehua
PASSWORD= /root/backup_passwd
SOURCE= '192.168.1.101::backup'
USER=Administrator
DEST= /Win_Back/
echo  "start backup file server"
/usr/bin/rsync  -av --progress --delete --port=873 --password- file =$PASSWORD $USER@$SOURCE $DEST
if  [ $? - eq  0 ]
     then  
     echo  "file server backup successfully!"
else
     echo  "file server backup failure, try again:"
     /usr/bin/rsync  -av --progress --delete --port=873 --password- file =$PASSWORD $USER@$SOURCE $DEST
fi

5)定时备份任务,每小时执行一次同步操作

1
2
[root@backup ~] # crontab -e
0 * * * *   /bin/bash  -x  /root/backup/win_bak .sh >  /dev/null  2>&1
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
分类:  Rsync

本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5972563.html,如需转载请自行联系原作者
相关文章
|
4月前
|
安全 Linux 生物认证
Nexpose 8.25.0 for Linux & Windows - 漏洞扫描
Nexpose 8.25.0 for Linux & Windows - 漏洞扫描
201 0
Nexpose 8.25.0 for Linux & Windows - 漏洞扫描
|
4月前
|
安全 Linux iOS开发
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
505 53
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
4月前
|
安全 Linux 生物认证
Nexpose 8.24.0 for Linux & Windows - 漏洞扫描
Nexpose 8.24.0 for Linux & Windows - 漏洞扫描
271 17
Nexpose 8.24.0 for Linux & Windows - 漏洞扫描
|
4月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
260 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
4月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
389 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
4月前
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
964 0
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
4月前
|
Linux iOS开发 计算机视觉
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
373 0
|
5月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
635 1
二、Linux文本处理与文件操作核心命令
|
5月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
406 137
|
5月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
976 57