|
@@ -0,0 +1,76 @@
|
|
|
+#/bin/bash
|
|
|
+svr_name=crawler-etl
|
|
|
+deploy() {
|
|
|
+ ips=($@)
|
|
|
+ for i in "${!ips[@]}"
|
|
|
+ do
|
|
|
+ if [ $i -gt 1 ]; then
|
|
|
+ ip=${ips[$i]}
|
|
|
+ echo $ip "发布中..."
|
|
|
+ scp /home/server-deploy/crawler-etl.sh $ip:/home/crawler-etl.sh
|
|
|
+ ssh $ip "bash /home/crawler-etl.sh restart $2"
|
|
|
+ echo $ip "发布完成!"
|
|
|
+ fi
|
|
|
+ done
|
|
|
+}
|
|
|
+
|
|
|
+start() {
|
|
|
+ CID=$(docker ps -a | grep $svr_name | awk '{print $1}')
|
|
|
+ if [ ! $CID ]; then
|
|
|
+ docker run -d --restart=always --name $svr_name -P registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1
|
|
|
+ echo "$svr_name 启动"
|
|
|
+ else
|
|
|
+ echo "$svr_name 容器已经存在"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+stop() {
|
|
|
+ CID=$(docker ps -a | grep $svr_name | awk '{print $1}')
|
|
|
+ if [ ! $CID ]; then
|
|
|
+ echo "$svr_name 没有运行"
|
|
|
+ else
|
|
|
+ echo "正在停止 $svr_name "
|
|
|
+ docker stop $CID
|
|
|
+ docker rm $CID
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+update() {
|
|
|
+ CID=$(docker ps -a | grep $svr_name | awk '{print $1}')
|
|
|
+ IMAGE_ID=$(docker images | grep $svr_name | awk '{print $3}')
|
|
|
+
|
|
|
+ if [ ! $CID ]; then
|
|
|
+ echo "本地无镜像,直接pull"
|
|
|
+ docker pull registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1
|
|
|
+ else
|
|
|
+ echo "停止本地容器->删除本地镜像->pull镜像"
|
|
|
+ docker stop $CID
|
|
|
+ docker rm $CID
|
|
|
+ docker rmi $IMAGE_ID
|
|
|
+ docker pull registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+case "$1" in
|
|
|
+'deploy')
|
|
|
+ deploy $@
|
|
|
+ ;;
|
|
|
+'start')
|
|
|
+ start $2
|
|
|
+ ;;
|
|
|
+'stop')
|
|
|
+ stop
|
|
|
+ ;;
|
|
|
+'restart')
|
|
|
+ stop
|
|
|
+ start $2
|
|
|
+ ;;
|
|
|
+'update')
|
|
|
+ update $2
|
|
|
+ start $2
|
|
|
+ ;;
|
|
|
+*)
|
|
|
+ echo"Usage: $0 {start|stop|restart|update}"
|
|
|
+ exit 1
|
|
|
+ ;;
|
|
|
+esac
|