Board logo

标题: [文件操作] 如何用BAT从A服务器上传文件到B服务器FTP目录 [打印本页]

作者: regedit    时间: 2017-6-23 09:59     标题: 如何用BAT从A服务器上传文件到B服务器FTP目录

想实现数据库自动异地备份 A服务器每天自动备份  想用BAT 自动上传当天数据库文件到B服务器FTP里  代码应该怎么写  然后把BAT文件加入任务计划就可以实现数据库自动异地备份

A服务器数据库文件目录在d:\数据库文件   xayy_backup_2017_06_20_000002_1211708.bak          B服务器ftp:192.168.0.200   账号 admin  密码user   上传在bf目录下   代码应该怎么写

谢谢大家
作者: regedit    时间: 2017-6-23 10:31

回复 1# regedit



我在CMD里手动运行可以上传  在批处理就不行了   求大神帮忙  测试好后红包感谢
作者: Batcher    时间: 2017-6-23 10:58

参考一下别人的例子:
http://www.bathome.net/forumdisp ... =type&typeid=53

如果还是有问题,把你的代码发出来。
作者: regedit    时间: 2017-6-23 11:26

谢谢管理员  搞定了    复制别人的代码 稍微修改 可以上传 当天的文件到B服务器
  1. @echo off
  2. CLS
  3. title xxx数据库文件异地备份
  4. ECHO ★☆xxx数据库文件异地备份中……★☆
  5. color a
  6. @echo off
  7. setlocal
  8. set username=admin
  9. set passwd=admin
  10. set ipadr=192.168.0.6
  11. set dir_path=e:\123\syxx_backup_%date:~0,4%_%date:~5,2%_%date:~8,2%*.bak
  12. echo.
  13. echo open %ipadr% >ftp.tmp
  14. echo user %username% >>ftp.tmp
  15. echo %passwd%>>ftp.tmp
  16. for /f "tokens=*" %%a in ('dir /a-d/s/b "%dir_path%"') do (
  17. echo send "%%a" >>ftp.tmp
  18. )
  19. echo bye >>ftp.tmp
  20. ftp -n -s:ftp.tmp
  21. del /q /s ftp.tmp>nul
  22. endlocal
复制代码
对BAT不是很懂
for /f "tokens=*" %%a in ('dir /a-d/s/b "%dir_path%"') do (
echo send "%%a" >>ftp.tmp
)    这句是不是 很懂  只知道dir 和dir_path 的意思

不过可以实现每天自动异地备份啦:lol  谢谢管理员
作者: Batcher    时间: 2017-6-23 11:44

回复 4# regedit


    获取文件列表放到临时文件ftp.tmp里面,后面再通过ftp命令去执行。你打开ftp.tmp看看里面的内容就大致明白了。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2