欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

有关SQL 数据库自动备份,ftp 定期执行自动上传bak文件到远程服务器记录

程序员文章站 2022-05-29 16:42:32
...
  2017年病毒爆发严重,我们公司几个外建项目都受到了不同程度的攻击,最为严重的是其中一个系统的应用服务器和数据库服务器都被攻陷,所有的文件系统不可使用,导致系统崩溃并无法恢复;
  系统设计:应用服务器和数据库服务器使用双机互备,定期备份系统的数据库文件;一般能应付其中一台服务器宕机后可以在短时间内恢复系统运行;但遇到双机都被攻陷的情况下,导致系统完全瘫痪并数据无法恢复。所以我们采用了远程备份的方式作为救灾手段。
  第一:申请远程数据备份存储服务器
     可以购买一台单独的服务器作为文件存储备份服务器;这里我们选择在阿里云上购买了一台ECS服务实例作为服务器;
 第二:部署ftp 服务器
    在备份服务器上部署ftp,此处自行百度;ps:阿里云实例上开通ftp 服务,需要打开20、21端口的进出。别问我为什么,我也不知道。
 第三:在系统服务器上将数据库文件上传至阿里云数据备份服务器
   1) 接下来需要将备份好的bak文件压缩成rar格式(需要安装win rar或其他压缩软件)。
   2)向ftp服务器上传文件
  3)删除所有bak 及 rar 文件
  3,源代码分为两个文件A, B 详细如下:

A.bat 源代码
rem 将每天备份的数据压缩后导入到ftp服务器
@echo off
set dateStr=%date:~0,4%%date:~5,2%%date:~8,2%

echo 压缩备份文件
set path=%path%;D:\Program Files\WinRAR;
rar a f:\databak\2017_%dateStr%.rar f:\databak\*.bak

pause

echo 上传文件
ftp -n < f:\B.ftp
echo 删除多余文件

del f:\databak\*.bak
del f:\databak\*.rar
pause
B.ftp源代码
open 127.0.0.1
user anonymous 33
put f:\databak\*.rar
quit
127.0.0.1 改成你存储服务器的IP

user 输入用户名和密码

ftp主动模式(port):

  • 用户主机一个随机端口连接FTP SERVER的TCP21端口进行协商;
  • 用户主机告诉FTP SERVER,我的XXXX端口已经打开,你可以放心大胆的连过来;
  • 然后FTP SERVER就用TCP20端口连接用户主机的XXXX端口,数据传输开始。
ftp被动模式(PASV)

  • 首先用户使用随机端口连接FTP SERVER的TCP 21端口进行协商;
  • FTP SERVER告诉客户机:我的XXXX端口开放了,你连过来吧;
  • 客户机使用一个随机端口连接FTP SERVER的XXXX端口传输数据。


如果你的系统服务器也处于路由内,建议选择ftp 被动模式;因为主动模式下,系统服务器向阿里存储服务器的21 端口发送请求后,阿里云存储服务器通过20端口来像系统服务器提供的xxxx端口访问;而你的系统服务器这些端口一般都是受限不允许通过,所以会导致ftp访问异常;

被动模式下(PASV):IIS服务器 ftp设置防火墙支持 设置指定端口范围,ftp服务器就会在端口范围内选择一个端口让客户端访问;所以只要在安全组设置xxx/xxx端口入方向 通过即可;

ftp防火墙设置端口范围后,切记重启ftp服务,使ftp端口生效!!!(血坑。。。。)

客户端服务器ftp通过防火墙设置:

64位系统将C:\Windows\SysWOW64\ftp.exe文件添加到防火墙的允许列表中即可。

32位系统就添加C:\Windows\system32\ftp.exe即可。


最后将bat文件放到windows 自动执行任务即可完成!

以上内容参考其他大神博文指导,仅作整理记录。





相关标签: 数据库相关