基于现状,可以通过脚本压缩每天的备份文件,再将压缩文件传输到特定 PC 机(成本低廉)上,删除应用服务器上的备份文件来减少空间的占用。
备份压缩
整体服务器都是跑在 Windows Server 之上的,所以备份压缩就选用了 WinRAR 实现。备份文件包含 dmp、log、lts 三个文件,文件命名规则为 DAYODB 前缀加当日日期。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
rem 指定数据库备份文件所在目录 set DIRECTIONPATH=D:\database
rem 设置备份文件前缀 set FILENAME=DAYODB
rem 拼凑当日日期,例如:20200617 set TIMESTYLE=%date:~0,4%%date:~5,2%%date:~8,2%
rem 指定当日的三个备份文件地址,拼凑dmp、log、lts三个文件完整地址 set FILEPATH=%DIRECTIONPATH%\%FILENAME%%TIMESTYLE%.dmp set LOGPATH=%DIRECTIONPATH%\%FILENAME%%TIMESTYLE%.log set LSTPATH=%DIRECTIONPATH%\%FILENAME%%TIMESTYLE%.lst
rem 指定压缩文件地址 set RARPATH=%DIRECTIONPATH%\%FILENAME%%TIMESTYLE%.rar
使用 WinRAR 压缩文件
1 2 3 4 5
rem 指定WinRAR地址 set RAR_CMD="C:\Program Files\WinRAR\WinRAR.exe"
rem 使用WinRAR压缩备份文件 %RAR_CMD% a -df "%RARPATH%""%FILEPATH%""%LOGPATH%""%LSTPATH%"
FTP 文件传输
创建 FTP 传输命令文件databaseftp.txt,默认保存在当前目录下。
1 2 3 4 5 6 7 8
rem 打开192.168.1.1:33,根据实际FTP配置进行设置 (echo open 192.168.1.1 33 rem 指定FTP用户名及密码 echo administrator echo 159 rem 上传目标文件,%RARPATH%由前一部分压缩部分指定 echo put %RARPATH% echo bye)>databaseftp.txt