因为须要对网络设备作备份,备份文件是放到windows机器上的。如今须要将备份数据同步到linux备份机器上,想到的方案有三种:linux
1)将windows的备份目录共享出来,而后在linux服务器上进行挂载,最后对挂载目录进行定时同步。这种方式不太安全。 2)使用tftp、sftp方式,也不太安全。 3)推荐经过rsync方式(cwRsyncServer_4.1.0_Installer),windows机器到windows机器之间的按期同步也使用这种方式。
下面简单介绍下使用rsync方式的同步过程:vim
1、windows上的操做记录
1)在windows server上安装配置Cwrsyncserver,按照提示一步步安装便可,须要注意下cwrsyncserver有个设置用户与密码的地方,要么就改成本身的用户名与密码。好比用户Administrator,密码:123456,这个用户名与密码是一会启动服务时须要的,也就是你服务器的用户名和密码,若是感受不安全,能够考虑在WINDOWS中建立一个用户名和密码。windows
2)配置rsyncd.conf 文件安全
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.psbash
Administrator:PASSWD_123@bjk 注意: 此密码文件里的格式是"用户名:密码",这个密码能够随意指定。但最好设置服务器的用户名和密码。若是以为不安全,就另外建立一个用户名和密码,专门用于rsync同步之用。 可是千万要记得这个建立的用户名对E:\Setting\Rsync\rsync_db.ps这个密码文件要有修改的操做权限。
3)启动cwrsync服务(注意: 若是开启了防火墙,则防火墙规则中要添加Tcp端口873容许通讯)
右键 个人电脑->管理->服务与应用程序->服务->RsyncServer->右键 属性->登录-> 在此账户输入有效的用户名(域用户、要有权限管理E盘的用户名哦),密码和、再次确认密码;此处使用域管理员账号与密码(若是用户和密码无权限或错误,将没法启动RsyncServer服务)。启动RsyncServer服务,并修改属性为自动,以便后续开机就启动此服务。服务器
服务启动成功后,就能够配置linux客户端了。网络
2、linux客户端(192.168.1.90)上的操做记录
1)先查看下可否连通windows机器(192.168.1.101)的873端口(rsync端口)。以下表示链接正常!ui
[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中设定的密码内容:spa
[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参数)server
[root@backup ~]# rsync -av --progress --delete --port=873 --password-file=/root/backup_passwd Administrator@192.168.1.101::backup /Win_Back/
4)建立备份脚本
[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)定时备份任务,每小时执行一次同步操做
[root@backup ~]# crontab -e 0 * * * * /bin/bash -x /root/backup/win_bak.sh > /dev/null 2>&1