diff --git a/deploy.sh b/deploy.sh index 3a283ae..1e39bdd 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,7 +1,8 @@ #!/bin/bash +imageName="zerotier-planet" + function deploy() { - imageName="zerotier-planet" # 处理ip信息 curr_ip=$(curl -s cip.cc | grep http | awk -F '/' '{print $4}') @@ -52,12 +53,45 @@ function deploy() { docker cp zerotier-planet:/app/bin/planet /opt/planet } +function migrate() { + + echo "-------------------------------------------" + echo PS: 请事先确保对端主机满足以下条件: + echo a. ssh用户可以免密sudo + echo b. selinux关闭 + echo c. 对端已经安装了docker/podman-docker + echo 另外,替换了planet的主机需要自行手动下载新的planet文件进行替换 + echo "-------------------------------------------" + echo "请输入对端ip:" + + read remote_ip + + echo "----------------------------" + echo "对端ip为:$remote_ip, 请输入对端端口:" + + read remote_port + + echo "----------------------------" + echo "对端ip为:$remote_ip, 对端端口为:$remote_port, 请输入对端用户:" + + read remote_user + + docker stop $imageName + docker run --rm --volume ztncui:/from alpine ash -c "cd /from ; tar -cf - . " | ssh $remote_user@$remote_ip -p $remote_port 'sudo docker run --rm -i --volume ztncui:/to alpine ash -c "cd /to ; tar -xpvf - " ' + docker run --rm --volume zt1:/from alpine ash -c "cd /from ; tar -cf - . " | ssh $remote_user@$remote_ip -p $remote_port 'sudo docker run --rm -i --volume zt1:/to alpine ash -c "cd /to ; tar -xpvf - " ' + + echo "----------------------------" + echo 迁移完成,请在对端主机执行部署命令: + echo "git clone https://github.com/m4d3bug/docker-zerotier-planet && ./docker-zerotier-planet/deploy.sh" + echo "----------------------------" +} + function menu() { echo echo "=============功能菜单=============" echo "| 1 - 安装" - #echo "| 2 - 更新" - #echo "| 3 - 卸载" + echo "| 2 - 迁移" + #echo "| 3 - 更新" echo "| q - 退出" echo "---------------------------------" printf "请选择菜单:" @@ -67,8 +101,10 @@ function menu() { echo "安装" deploy - #elif [ "$n" = "2" ]; then - # echo $n + elif [ "$n" = "2" ]; then + echo "迁移" + migrate + #elif [ "$n" = "3" ]; then # echo $n elif [ "$n" = "q" ]; then