12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #/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
|