公司有NAS存储,作为各系统重要数据(如数据库文件)及各个应用数据的集中存储备份的地方(异地备份)。实际场景,公司内网部署一台Linux作为同步任务,用rsync同步。设置同步目录,将NAS存储目录挂载到目录,并设置定时任务,将各应用数据定期同步到NAS存储目录。

  1. 先挂载NAS目录
/bin/mount -o username=admin,password=password //192.168.1.1/nas中目录 /data/pos_nas/

Linux机器查看,df -h显示已挂载好的目录。

  1. Rsync操作配置 Windows作为Rsync服务端,Linux为客户端。 rsync两种登录认证协议:ssh认证协议 、 rsync认证协议,如: rsync认证协议: rsync -avz --progress --password-file=/etc/rsync.passwd --port=873 rsync@10.10.10.10::db_backup /data/backup/ ssh认证协议:rsync -avz -e ssh -p 7022 /data/backup/ rsync@10.10.10.10:/backup/

1). 准备rsync的Windows版本,--cwRsync4.1.0 服务端版本:cwRsyncServer_4.1.0_Installer.exe 客户端版本:cwRsync_4.1.0_Installer.exe Windows机器上安装cwRsyncServer_4.1.0_Installer.exe。注意安装过程中设置账号,账号用于启动crsync server服务,需分配给账号对要同步文件的权限。此设置账号为:rsync 2). 配置rsyncd.conf文件 cwRsyncServer安装默认目录为: C:\Program Files (x86)\ICW

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd_log.log
uid = 0
gid = 0
[nc-backup]
path = /cygdrive/d/backup/
comment = nc-backup
transfer logging = yes
read only = false
write only = no
list = no
auth user = rsync
secrets file = /cygdrive/d/rsyncd.password
 安装后,RsyncServer服务默认为手动启动,修改为RsyncServer服务默认为自动启动模式。

注意,如果启用防火墙,需将rsync 873端口开放。 3).Linux server上设置同步命令 从Linux机器上拉取windows端需同步的目录到Linux端。 先手动测试:

 /usr/bin/rsync -avz --progress --password-file=/etc/rsync.passwd1 --port=873 rsync@10.10.1.10::nc-backup   /data/pos_nas/U8_backup
在挂载的NAS目录查看到文件同步过来,说明同步成功。接下来设置定时任务,进行自动同步。
crontab -l
30 0 * * *  /bin/bash  /opt/scripts/nc.sh