一键发布shell脚本

时光总嘲笑我的痴心妄想 提交于 2019-12-04 09:01:37

1.配置集群间免密登录

(1)配置host:vim /etc/hosts

 

 (2)生成公钥 :ssh-keygen -t rsa -P ''

  这时会提示生成的公钥的存放地址,直接回车,公钥生成成功

(3)cat id_rsa.pub 将生成的公钥添加到需要登录的机器的authorized_keys文件里

 

 然后直接ssh crawler01即可登录

2.一键启动脚本

 1 #!/bin/bash
 2 
 3 #程序包名称
 4 ZIP_NAME="aikucun-distributed-spider-crawler.zip"
 5 
 6 zip_exist(){
 7     if [ ! -f "$ZIP_NAME" ]
 8     then
 9         return 1
10     else
11         return 0
12     fi
13 }
14 
15 backup(){
16     echo "备份方法执行..."
17     cd ~/crawler
18     if zip_exist; then
19         mv $ZIP_NAME ~/jar_bak
20         echo "crawler程序包备份完成!"
21     else
22         echo "$ZIP_NAME 不存在,无法备份,请检查!"
23     fi
24 }
25 
26 check_single(){
27     if [ ! -f "bin/single.sh" ]
28     then
29         return 1
30     else
31         return 0
32     fi
33 }
34 
35 stop(){
36     echo "停止方法执行..."
37     if check_single; then
38         sh bin/single.sh stop
39         CURRENT_PATH=`cd "$(dirname "$0")"; pwd`
40         echo "当前所在目录:$CURRENT_PATH"
41         rm -rf ~/crawler/*
42         echo "已清除旧程序"
43     else
44         echo "single脚本文件不存在,无法停止程序,请检查程序结构是否完整!"
45         exit 1
46     fi
47 }
48 
49 start(){
50     echo "开始方法执行..."
51     cd ~/jar_new
52     if zip_exist; then
53         mv $ZIP_NAME ~/crawler
54         cd ~/crawler
55         unzip -q $ZIP_NAME
56         echo "解压程序包完成!"
57         cd bin
58         dos2unix single.sh
59         echo "格式转换完成!"
60         sh single.sh start
61     else
62         echo "$ZIP_NAME 不存在,程序无法发布,请检查!"
63         exit 1
64     fi
65 }
66 backup
67 stop
68 star

3.上传一键启动脚本upload.sh

 1 #!/bin/bash
 2 
 3 #取当前目录
 4 BASE_PATH=`cd "$(dirname "$0")"; pwd`
 5 
 6 crawler_list="
 7 crawler02
 8 crawler03
 9 crawler04
10 crawler05
11 crawler06
12 crawler07
13 crawler08
14 crawler09
15 crawler10
16 crawler11
17 crawler12
18 crawler13
19 crawler14
20 crawler15
21 "
22 for i in $crawler_list
23 do
24         echo "正在上传一键启动脚本至$i"
25         scp $BASE_PATH/publish_crawler.sh $i:~
26         echo "$i机器上传完成"
27 done

4.一键发布脚本

 1 #!/bin/bash
 2 
 3 #取当前目录
 4 BASE_PATH=`cd "$(dirname "$0")"; pwd`
 5 SHELL_NAME="publish_crawler.sh"
 6 
 7 crawler_list="
 8 crawler02
 9 crawler03
10 crawler04
11 crawler05
12 crawler06
13 crawler07
14 crawler08
15 crawler09
16 crawler10
17 crawler11
18 crawler12
19 crawler13
20 crawler14
21 crawler15
22 "
23 for i in $crawler_list
24 do
25         echo "正在上传程序包至$i"
26         scp $BASE_PATH/crawler/aikucun-distributed-spider-crawler.zip $i:~/jar_new
27         echo "登录并执行一键启动脚本"
28         ssh $i "sh $SHELL_NAME"
29 done

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!