00:00
好了,同学们,刚刚呢,我们了解了一下他的这个超时机制,对吧?啊,其中的重点就是不要让这个我们的命令卡死,那看一下我们这个任务这里边呢,还有一个地儿需要我们去优化,就是呃,虽然说现在我们呃构建完成之后,把炸包扔过去,它能启动起来了,这个问题呢,呃,就是这个炸包的启动的时候啊,它事先呢,已经有一个炸包在那儿运行着了。对吧?那我们怎么办?是不是要提前把这个炸包给他给杀死?啊,那首要如果我们想要把它给杀死的话,那其实啊,呃,在这个这个前面呢,还有另外一个位置,可可以让我们去配置,这就有点像我们学Java的时候,这里边儿有这个面向切面编程是吧,那么我们去执行一行呃命令的时候,它在执行之前我们可以做一些操作。它在执行之后,我们可以做一些操作,那么之前我们做的这件事儿呢,就是在,呃,它构建完成之后啊,我们去。做的操作,把它给打包扔到目标服务器上,那么在之前呢,我们也可以做一些操作,在真正在构建打包之前,那么在这儿我们是不是就可以让他,呃,把我们的这个。
01:12
这个这个这个呃。目标的服务器啊,给它做一下清理,比如说现在正在运行的这个,呃,这个进程啊,我把它给删掉,那么还有这个之前传过去这个炸包,我把它给删掉啊,对吧,把一些之前运行的一些轨迹,一些数据给它给清理掉,那么都可以在这个pre step,它所对应的就是这个post在step啊,然后中间卡了一个build,这build就是在我们这,就是在我们的Jack服务器上去做这个构建,那么在prere step里边呢,我们仔细看一下啊,呃,这PE step,点击一下这个at PE,呃,Build step。和我们之前一样,这里边呢有一个send file or command啊oversh你点一下呢,会发现这个菜单和以前也一样,就是在它执行之前呢,我们可以呃,向目标服务器发送命令之前我们不是发送了命令让他去启动炸包吗?那在这儿呢,同样还可以让他去发送命令啊在这儿呢,我们可以填上,比如说我Q一下嗯,目标这个服务器上运行的呃,某个进程的ID对吧?啊在这呢,让他去执行,那么呃,我这如果要是想让他去Q某个ID的话,首先我得知道这个PID是多少。
02:30
那么在这儿我需要多次操作,也就是先去获取啊它这个PID,然后呢,再去Q,那么在这一行命令肯定肯定就完不成了,这会儿怎么办啊,是不是就可以写一些这个shell脚本啊,让他啊批处理,一行一行的去处理啊,一条一条任务去做,先去找ID,然后再去删除,在这儿呢,我就要教大家去写一些简单的shell脚本了,呃,如果嗯,我们作为Java程序员的话。自己动手写是脚本,如果实在是写不出来的话,那么你至少也要呃之前这个呃有过阅读的经历,能够看得懂别人写的脚本,大概他在执行的时候呢,有这个过程是啥意思,我们要了解一下啊,如果要是作为专专业的这个运维或者运维开发的话,写shell脚本呢,就是一个必备的技能了。
03:21
啊,我们在这儿呢,先给大家写一个简单的带大家入入门啊,在这呢,我们先嗯,让他去执行一个命令,让他执行这个脚本,当然现在这个脚本我们还没有是吧?啊啊,这是呃,我们一会要写的,比如说x.SH啊,写这么一个脚本,让去执行这个脚本。然后在这呢,呃,你看上边这也是红的,它提示我们去填这么一个东西就是。这source file就是让我们去传输一个文件,那我们现在只想让他执行一个命令,让他去执行这个脚本命令,并不想文件这办这个怎么办?其实这会儿不要慌,那我们点一下这个问号,你看一下。
04:01
啊,这里边的解释this command remote大大概意思是在传,呃,这不是在这个我们编译之前啊,呃,执行的这么一步操作,然后呃,这个命令啊,会after我们的这个file transfer的,就是在文件传输完成之后。啊,然后他去这个执行我们这个,呃,这这个这个这个呃,脚本命令啊,然后再往下边看呢,这个the s sh must includeec command both,大概意思就是。这两个啊,你至少要有要有一个,要么就要么就传递文件,要么呢你就执行一个命令啊,或者是两个一起来,那现在呢,它爆红了,我们可以暂时不管它,直接呢在这点一保存。诶,你看他也能过来,那么接下来啊,我们去写一下这个脚本。
05:03
在我们当前这个目录大家看啊,这就是在我们的这个加目录下,我们需要一个呃叉点SH这么一个脚本文件,通常啊,这个脚本在刚开始写的时候有一个不成文的规定啊,就是刚开始呢,我们先写这么一个注释,当然这个井号后边跟的全都注,全都是注释啊,加一感叹号。然后并。当然你不写啊,这个它也是能执行的啊,那我们先写一个最简单的命令,比如说。啊,这么一个叉叉叉叉哦哦,然后到某个文件里给它写入到,比如说叉叉叉点TXT写到这个文件里,然后保存退出。啊,现在这SH呢,呃,脚本就已经有了,给他改个权限。让他可以执行啊。然后我们执行测试一下,正常情况下我们执行完啊,它会在我们当前目录下生成一个新的文本文件出来。
06:07
哎,现在已经出来了,叉叉叉点TXT对吧,我们看一下。呃,我们看现在这个文件里边的内容呢,也也直接给它写进来了,那现在我们把它给删掉。啊,接下来我们想让这个jacks,让他去调用这个脚本啊,我们执行一下看看。点一下看它。在执行的时候啊,这个是在构建之前就会执行,那么现在他还在呃打包编译对吧,那现在应该已经有这个文件了,如果它调用成功,哎,大家看已经被成功调用了,并且这个文件呢,已经生成出来了。
07:04
啊,这是最简单的这个脚本调用,那么接下来呢,我们在这个shell脚本里边呢,稍微的去深入了解一下呃,脚本的写法,那我们要完成以下这么几个任务,首先第一个呢,我们要完成一些清理,就是现在的这个目录啊,我们把它给删了,因为这是之前传过来的嘛。之前传过来这个文件,还有他这个日志,我直接把它给全部都给删除掉,这是第一件事儿,那么第二件事儿呢,就是这个进程。我也要把它给清理掉啊,然后再有就是啊,全清理掉之后,让它正常的去运行啊,再执行最后的这步操作。比如这个post在最后这一步操作,再让他接收我们的这个包,并且再让它运行起来,这听起来是不是就比较完整了一些了,对吧?那么好,我们下节课呢,带着大家把这个脚本,呃,具体这个写法详细的大家来了解一下哈。
我来说两句