bash - 查询服务器和数据库的脚本,然后显示操作菜单(停止应用程序,启动应用程序),然后停止并导出数据库
问题描述
脚本新手在这里。
我必须创建一个脚本来提示
- 查询服务器名称
- 查询数据库名称
然后
出示菜单
- 连接到远程服务器并检查服务器应用程序的状态
- 连接到远程服务器并停止服务器应用程序
- 连接到远程服务器并启动应用程序。
我已经取得了一些进展,但我不清楚某些事情我可以要求服务器 ip 现在将其设置为环境变量并可以执行这些功能。
我有 3 台服务器
- 服务器1 10.10.10.1 服务器2 10.10.10.2 服务器3 10.10.10.3
我知道每台服务器上的数据库名称。
- 服务器1 DB_name1 服务器2 DB_name2 服务器3 DB_name3
我想以某种方式将服务器 IP 与数据库名称(可能像一个变量)连接起来并执行相同的命令。可能是 if 语句或 case 语句
这是我到目前为止所拥有的。
#!/bin/bash
#ask user their server name they need
read -p 'server name' SERVER
#read -p 'DB name' DB_NAME
echo $SERVER
SERVER=$SERVER
#echo $DB_NAME
echo "select the operation ************"
echo " 1)application status"
echo " 2)application start"
echo " 3)application stop"
read n
case $n in
1) echo "You chose option 1 check application"
ssh -t appuser@192.168.1.1 'sudo service application_StartupService status' ;;
2) echo "You chose option 2 start application"
ssh -t app user@192.168.1.1 'sudo service application_StartupService start' ;;
3) echo "You chose Option 3 Stop application service"
ssh -t appsuer@192.168.1.1 'sudo service application_StartupService stop' ;;
*) echo "invalid option";;
esac
问候
解决方案
推荐阅读
- javafx - 当我开始另一个阶段时,ProgressIndicator 完成
- python - 胶囊网络和可重复性
- r - 如何从 R Shiny 更新 JSON 文件?
- xml - AWS API Gateway returns 403 when XML versio header is present in xml body
- python - 如何将 PCA 应用于图像
- php - 我可以使用 CSS 将大图标替换为小图标吗?
- c++ - 在 Beagle Bone Blue 上的 ROS 节点中使用 Robotcontrol 库
- ansible - 如何在ansible“重试和直到”块中找到一个字符串?
- mysql - 获取term id等于Mysql查询的所有条目
- spring-boot - 使用 devtools 时 Spring Boot 应用程序空闲 CPU 使用率过高