一、样例(如遇到权限问题请使用管理员身份运行.bat文件)
先在windows上安装winscp软件,版本随意。
1.全量复制:
bak_all_override.txt
option echo off
option transfer binary
open sftp://root:123456@10.0.3.10:22
cd /usr/local/proj/proj_web
put C:\Users\abc\dist\*
exit
uploadbak_all_override.bat(其中%~dp0 是.bat文件所在路径)
@echo off
set filepath=%~dp0
cd C:\Program Files (x86)\WinSCP
winscp /script=%filepath%\bak_all_override.txt /log=%filepath%\log.txt
pause
2.增量复制:
bak_update.txt
option echo off
option transfer binary
open sftp://root:123456@10.0.3.10:22
synchronize remote C:\Users\abc\dist /usr/local/proj/proj_web
exit
uploadbak_update.bat(其中%~dp0 是.bat文件所在路径)
@echo off
set filepath=%~dp0
cd C:\Program Files (x86)\WinSCP
winscp /script=%filepath%\bak_update.txt /log=%filepath%\log.txt
pause
二、原文(原文语法有问题,仅供参考)
写在前面:
本笔记适用于windows和linux之间数据备份。
使用以下脚本前提是windows已将安装了WinSCP程序
- 脚本文件script.txt
option echo off
option transfer binary
open sftp://username:password@ip:port
::cd /backup/
::put E:\app (简单上传文件命令)
synchronize remote E:\app\back /backup/back (同步命令,比对文件信息,增量同步)
exit - 调用脚本文件run.bat
@echo off
cd C:\Program Files (x86)\WinSCP
C:
winscp /script=script.txt /ini=WinSCP.ini /log=log.txt - 放入计划任务执行
将run.bat放入计划任务中,按业务时间执行即可
原文参考自(本文有内容新增样例,且亲测):https://blog.51cto.com/iceblock/2376352