公司有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显示已挂载好的目录。
    Rsync在Windows系统和Linux系统间进行文件同步操作_第1张图片

  2. Rsync操作配置
    Windows作为Rsync服务端,Linux为客户端。
    rsync两种登录认证协议:ssh认证协议 、 rsync认证协议,如:
    rsync认证协议: rsync -avz --progress --password-file=/etc/rsync.passwd --port=873 [email protected]::db_backup /data/backup/
    ssh认证协议:rsync -avz -e ssh -p 7022 /data/backup/ [email protected]:/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在Windows系统和Linux系统间进行文件同步操作_第2张图片
    注意,如果启用防火墙,需将rsync 873端口开放。
    3).Linux server上设置同步命令
    从Linux机器上拉取windows端需同步的目录到Linux端。
    先手动测试:

    /usr/bin/rsync -avz --progress --password-file=/etc/rsync.passwd1 --port=873 [email protected]::nc-backup   /data/pos_nas/U8_backup

    在挂载的NAS目录查看到文件同步过来,说明同步成功。接下来设置定时任务,进行自动同步。
    crontab -l
    30 0 * /bin/bash /opt/scripts/nc.sh