腾讯蓝鲸论坛-专业的技术交流论坛

 找回密码
 立即加入蓝鲸智云论坛
忘了密码?
搜索
热搜: 用户手册 FAQ
查看: 425|回复: 0

我的蓝鲸作业平台批量更新windows服务器(带安装教程)

[复制链接]

4

主题

2

好友

2310

积分

进阶会员

Rank: 4

发表于 2018-1-29 14:47:18 |显示全部楼层
本帖最后由 Sto_hell 于 2018-1-29 14:55 编辑

这个帖子主要写下关于作业平台的使用:
目前我用到的最主要的功能就是批量发布更新功能(windows更新重启IIS),我的更新操作流程为($1 $2 $3功能稍后解释)
.   发布准备工作
1.      新建本次发布目录
2.      下载更新包到临时目录
3.      解压包到临时目录
对应的命令为
#一:有就删除,没有就新建/下载更新包/解压更新包
#1.
mkdir -p/cygdrive/d/bluking/{cygwintmp,cygwinlist,cygwintarfile}
rm /cygdrive/d/bluking/cygwin*/* -rf

#2.
cd /cygdrive/d/bluking/cygwintarfile
wget ftp://FTPaddress:/$1--ftp-user=bluking --ftp-password=xxxxxxxxx

#3.
unzip/cygdrive/d/bluking/cygwintarfile/$1 -d /cygdrive/d/bluking/cygwintmp/ >/dev/null 2>&1 || echo "skip the error"解压这个是因为有时候有中文会终止任务,加||可以忽略

二.开始备份和替换文件
         1.备份文件
         2.替换文件
对应的命令为
cd $1
ls -l | grep -Evi "(total|总用量)"|awk'/^d/{print $NF}' | grep -Evi "log" > /cygdrive/d/bluking/cygwinlist/list.txt业务要求不备份log文件夹想出来的对策(忽略我的智商)
ls -l | grep -Evi "(total|总用量)"|awk'/^[^d]/{print $NF}' >>/cygdrive/d/bluking/cygwinlist/list.txt
mkdir -p /cygdrive/d/backup/$2_$3
for i in `cat/cygdrive/d/bluking/cygwinlist/list.txt `; do cp -r $i /cygdrive/d/backup/$2_$3; done

#2.
cp -r /cygdrive/d/bluking/cygwintmp/* $1

三.重启IIS
cd /cygdrive/c/Windows/System32/inetsrv
./appcmd.exe stop site /site.name:\$1(去掉$1前面的反斜杠)
./appcmd.exe start site /site.name:\$1

这个是整合了小步骤的,实践中可以将小个步骤分开,便于理解。图如下
1.png

2.png

3.png

4.png

5.png


IP变量使用说明:
6.png

IP变量的作用个人认为是:如果你所有的业务都是一个更新流程(传文件,备份,替换,重启)。那么你只需要一个作业就够了,不同的IP到时候贴上替换就是了。


7.png

为什么拿windows做演示(为什么发上面这个图),是因为以前我们更新windows操作步骤为:远程到13台机器,分别复制更新包到13台机器,分别解压13台机器,每台机器再去重启下IIS(每台机器还有多个IIS)。这样每次更新耗时30min+而且重复工作还怕出错,现在通过蓝鲸平台,只需要把更新包传上FTP,将上面的参数(变量默认值)改改,跑就是了,整个更新过程2分钟之内。感谢蓝鲸提供这个平台

附带分享windowsIIS和服务用命令行的操作还有windows安装cygwin
服务:
注意“=”号后面有个空格。
1 设置服务为禁用
    sc config Tomcat8 start= disabled
2 停止服务
    sc stop  Tomcat8   
3 现有服务设置自动
    sc config Tomcat8 start= auto
4 现有服务设置手动
    sc config Tomcat8 start= demand
5 开启服务
    sc start  Tomcat8
6 查看目前为运行状态的服务
    sc query
7 查看目前为停止状态的服务
    sc query state= inactive
8 删除服务
    sc delete Tomcat8
9 创建一个服务
    sc create test binPath= "exe文件的路径"
sc query | grep -a "SERVICE_NAME:" |awk '{print $2}'|grep -Ei "^(A)" >/cygdrive/d/running.txt
这个命令是查找所有正在运行的服务的名称,其中“A”为关键字
通过for 循环嵌套下面的命令进行批量的起停或者重启操作

IIS:
cd c:\Windows\System32\inetsrv   
命令   动作                :站点名称
appcmd start site /site.name:111

重启所有的IIS步骤:
iisreset /status  显示所有IIS网站的状态
iisreset /stop    停止所有IIS网站
iisreset /start   启动所有IIS网站(iisreset /stop停止之前是停止状态的不会被启动)

windows安装cygwin的包和教程上传不了,发个共享的链接吧
链接:https://pan.baidu.com/s/1jJLUDDG 密码:6np4

蓝鲸官网

GMT+8, 2018-5-24 12:05

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部