使用SFTP进行数据备份
使用SFTP进行数据备份
背景
现有部分Windows Server上的SQL Server的数据库文件需要进行异地备份,然而备份中转机则为Linux主机,异地备份主机的防火墙设定为只接收该机的IP访问。在不修改原有的网络环境的前提下,原有的思路是在Windows上挂载NFS共享路径或者Linux远程挂载SMB共享,现利用Windows平台的开源软件FreefileSync的文件同步功能来通过SFTP服务进行文件的同步备份。
实施
服务端配置
建立用户
# 建立用户kingdee,但不建立用户群组,设定用户不能登录系统 useradd -d /backups/misc/kingdee -n -s /sbin/nologin kingdee # 修改kindee用户密码 passwd kingdee
修改SSHD配置文件
# 注释掉sftp-server进程 #Subsystem sftp /usr/libexec/openssh/sftp-server # 使用internal-sftp替代sftp-server Subsystem sftp internal-sftp # 增加如下设定sftp用户配置文件 UsePAM yes Match user kingdee ForceCommand internal-sftp # 指定chroot目录限制用户只能访问该目录 ChrootDirectory /backups/misc/
建立传输文件夹
# chroot目录至根目录的文件夹的宿主只能是root,否则无法登录 # 在chroot目录下可以设置用户可读写文件夹 mkdir -p /backups/misc/kingdee chown root /backups/misc chown kingdee /backups/misc/kingdee
配置生效
systemctl restart sshd
客户端配置
配置文件同步
安装工具软件
软件列表
- 7zip:7-Zip
- freefilesync: FreeFileSync: Open Source File Synchronization & Backup Software
安装过程
略
同步属性配置
源文件:使用本地文件夹
目标文件:设置在线存储
设置为镜像模式
同步文件
建立定时任务
- 将FreeFileSync脚本保存为批处理脚本
- 在定时任务中调用该脚本
验证
略
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.