说明
在日常开发、测试的过程中需要将本地的一些静态资源上传至Linux服务器,例如文件夹、jar、war、*.tar.gz等等。我们可以编写一个bat脚本快捷地将Windows机器上的资源上传至Linux服务器。
核心
- 使用 pscp 可以上传文件和文件夹,可以满足从 Windows 远程拷贝文件到 Linux 服务。
- 核心命令
-r 递归文件夹pscp.exe -r -l %user% -pw %pwd% %source% %ip%:%target%
-l 指定用户名
-pw 用户密码
具体步骤
- 下载pscp.exe后,将其复制到C:\Windows\System32\文件夹下,这样在使用时,可以不用带上它的完整路径,可以直接使用;
- 新建一个.bat文件;
- 根据实际需求编写内容,实现具体功能;
- 验证功能
我的
有啥不对的及时指正我
-
指定目标资源存放的位置以及上传至服务器的位置,当然你也可以设置动态输入或选择;
-
设置目标服务器信息(ip、user、pwd);
-
根据实际需求编写内容
- 选择发布环境 --> 选择发布项目 --> 检查资源存在 --> 确认上传 --> 启动其他应用完成后续操作;
- 选择阶段输入非法则提示错误消息,可重新输入
@echo off chcp 65001 title 资源上传服务 v1.0.0 COLOR 2 set web_source=C:\Users\H5Publish\Desktop\H5\new.tar.gz set app_source=C:\Users\H5Publish\Desktop\H5\dist.tar.gz set web_pre_target=/home/test/workspace/WEB-H5-PRE set app_pre_target=/home/test/workspace/APP-H5-PRE set web_prd_target=/home/test//workspace/WEB-H5-PRD set app_prd_target=/home/test//workspace/APP-H5-PRD set ip=192.168.1.1 set user=root set pwd=root :env1 @echo. echo 选择发布环境 set /p env="预生产(1) or 生产(2) " if %env% NEQ 1 ( GOTO env2 ) else ( GOTO project ) :env2 if %env% NEQ 2 ( echo 输入错误,重新选择! GOTO env1 ) else ( GOTO project ) :project @echo. echo 选择发布项目 set /p project="WEB前端(1) or APP前端(2) " if %project% NEQ 1 ( GOTO project2 ) else ( GOTO chose ) :project2 if %project% NEQ 2 ( echo 输入错误,重新选择! GOTO project ) else ( GOTO chose ) :chose if %env%==1 ( if %project%==1 ( set source=%web_source% set target=%web_pre_target% ) if %project%==2 ( set source=%app_source% set target=%app_pre_target% ) ) if %env%==2 ( if %project%==1 ( set source=%web_source% set target=%web_prd_target% ) if %project%==2 ( set source=%app_source% set target=%app_prd_target% ) ) if exist %source% ( GOTO upload ) else ( @echo. echo 目标文件不存在,请检查 【%source%】 pause exit ) :upload set /p agree="确认上传【%source%】? (Y/N)" if /i %agree% EQU Y ( TIMEOUT /T 3 pscp.exe -l %user% -pw %pwd% %source% %ip%:%target% echo 上传完成。。。 ) else ( echo 告辞!! TIMEOUT /T 2 exit ) pause set /p startchrome="启动GoogleChrome浏览器(Y/N) " echo %startchrome% if /i %startchrome% EQU Y ( start /d "C:\Program Files (x86)\Google\Chrome Dev\Application\" chrome.exe ) else ( exit )