脚本自动更新、关闭、启动服务器【BAT、SHELL、SVN,NPM】

在开发过程中,我们不可避免的要做一些打包的动作,然后将打包完成的东西传给到本地服、服务器中。那么如果没一步都要自己去操作的话,未免也太过繁琐且无益。

下面我将我们在日常开发的过程中用到的脚步放出来,希望大家有所感悟、提升效率。

Linux中关服

在linux中关服有一个很重要的指令,就是找到当前的java服务器的进程号,然后通过kill的方式发送一个信号给到进程从而优雅的关闭服务器。

pid=`ps -ef|grep $jar_name|grep -v grep|awk '{print $2}'`
kill $pid

前端打包上传Linux

对于那种前后端分离的项目,我们的前端项目开发完之后需要打包,然后上传到服务器中,然后通过nginx的方式来访问的,这种我们就需要将项目打吧,然后自动上传到Linux服务器中的特定位置。

@echo off
chcp 65001
rem 拷贝文件完整路径
set folder=C:\worksplace\xxx

echo "打包.."
e:
cd C:\worksplace\xxx
call npm run build

echo "上传到服务器"
pscp -pw 你的密码 -r %folder% [email protected]:/data/project/
pause

Bat脚本【上传文件到linux服务器、并重启服务器】

@echo on

::默认为GBK改为UTF-8
chcp 65001

::项目名字
set name=xxx
set folder=F:\huanghailiang\%name%


echo "上传本地服"
::1.更新本地服目录
svn update F:\huanghailiang\tools\LocalServer
::2.替换本地服目录中的文件
copy ..\target\xxx_server-0.0.1-SNAPSHOT.jar  F:\huanghailiang\tools\LocalServer\lib\ /y
::3.SVN提交本地服数据
svn commit F:\huanghailiang\tools\LocalServer\lib -m "更新本地项目Jar包"
echo "本地服上传完毕"

:: 暂停10
timeout /t 10

echo "开始上传到内网服"
rem 服务器IP
set ip=你Linux服务器的ip地址
rem 服务器账户
set acount=你的账户
set password=你的密码

::下面的两个工具需要安装[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html]

echo "停掉策划服务器"
C:\worksplace\tool\putty\plink.exe -batch  -pw %password% %acount%@%ip% "cd /data/xxx/3063-cehua;./stop.sh"
echo "停掉内网服务器"
C:\worksplace\tool\putty\plink.exe -batch  -pw %password% %acount%@%ip% "cd /data/xxx/3061-neiwang;./stop.sh"

timeout /t 10

echo "上传Jar包到策划服"
C:\worksplace\tool\putty\pscp.exe -pw %password% %folder%\target\xxx_server-0.0.1-SNAPSHOT.jar %acount%@%ip%:/data/xxx/3063-cehua
echo "上传Jar包到内网服"
C:\worksplace\tool\putty\pscp.exe -pw %password% %folder%\target\xxx_server-0.0.1-SNAPSHOT.jar %acount%@%ip%:/data/xxx/3061-neiwang

timeout /t 20

::调用远程脚本启动[-batch :禁用所有交互式提示]
echo "启动策划服务器"
C:\worksplace\tool\putty\plink.exe -batch  -pw %password% %acount%@%ip% "cd /data/xxx/3063-cehua;./run.sh"
echo "启动内网服务器"
C:\worksplace\tool\putty\plink.exe -batch  -pw %password% %acount%@%ip% "cd /data/xxx/3061-neiwang;./run.sh"
pause

总结

上面是我对于开发过程中打包的一些自动化处理的脚步,目的是为了避免繁琐的无意义的操作,提高自己的开发效率。希望对大家有用。




2022.23.01 更新

C:\worksplace\tool\putty\plink.exe -batch  -pw %password% %acount%@%ip% "cd /data/xxx/3063-cehua;./run.sh"

这种方式会导致启动的服务器无法热更、应该是设计到环境变量的问题,而且启动脚本中又用到了环境变量,因此我们只需要先刷新一下环境变量,在运行启动命令即可。

脚本如下

C:\worksplace\tool\putty\plink.exe -batch  -pw %password% %acount%@%ip% "source /etc/profile; cd /data/xxx/3063-cehua;./run.sh"

你可能感兴趣的:(工具类,服务器相关,svn,服务器,运维)