|  | @@ -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
 |