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