ftp自动上传脚本(Windows)
数据库备份完成后,需要进行异地备份到远程服务器。以前是通过共享文件夹的方式,直接拷贝的远程服务器。最近因为病毒木马猖獗,445端口被封,无奈只能使用ftp方式传输传输。
测试发现windows2003 支持直接ftp方式上传数据,windows 2008服务器需要使用curl方式辅助进行ftp上传,两种上传方式总结如下:
ftp上传脚本
ftp_upload.bat
if "%remote_path%"=="" goto err_remote_path
if "%db_rar_path%"=="" goto err_db_rar_path
if "%trans_mode%"=="ftp" goto use_ftp
:use_curl
set path=%path%;D:\curl-7.56.1-win64-mingw\bin
curl -T %db_rar_path% ftp://ftp_user:ftp_pwd@127.0.0.1:21/%remote_path%/
goto :eof
:use_ftp
echo open 127.0.0.1 21 >ftp.up
echo ftp_user>>ftp.up
echo ftp_pwd>>ftp.up
echo cd %remote_path% >>ftp.up
echo binary>>ftp.up
echo prompt>>ftp.up
echo mput %db_rar_path%>>ftp.up
echo bye>>ftp.up
FTP -s:ftp.up
del ftp.up /q
IF ERRORLEVEL 1 goto err_upload
goto :eof
:err_remote_path
echo 请设置远程地址:remote_path
pause
exit
:err_db_rar_path
echo 请设置本地地址:db_rar_path
pause
exit
:err_upload
echo 数据上传失败!
pause
exit
调用方式
set DBNAME=test
set trans_mode=curl
set db_rar_path=%cd%\%DBNAME%_bak.rar
set remote_path=%DBNAME%_bak
call ftp_upload.bat