shell脚本控制nginx

对于使用自动化脚本来进行我们的运维工作,可以让我们有更多的时间完成一些复杂的运维部署工作。

#!/bin/bash
# 使用脚本首先要免密码登陆
# 定义三台 LNMP 服务器的 IP 地址
server1="server1-ip"
server2="server2-ip"
server3="server3-ip"

# 启动 Nginx 服务
start_nginx() {
    ssh user@$server1 "sudo systemctl start nginx"
    ssh user@$server2 "sudo systemctl start nginx"
    ssh user@$server3 "sudo systemctl start nginx"
}

# 停止 Nginx 服务
stop_nginx() {
    ssh user@$server1 "sudo systemctl stop nginx"
    ssh user@$server2 "sudo systemctl stop nginx"
    ssh user@$server3 "sudo systemctl stop nginx"
}

# 根据脚本参数执行相应的操作
case "$1" in
    start)
        start_nginx
        ;;
    stop)
        stop_nginx
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac

exit 0
# 这段脚本是一个简单的 Shell 脚本,用于接收一个参数并根据参数的值执行不同的操作。让我们逐步解释这段脚本的各个部分:
# 
# 1. `case "$1" in`: 这里的 `$1` 表示接收到的脚本的第一个参数。`case` 是一个条件语句,根据 `$1` 的值执行不同的操作。
# 
# 2. `start)`: 如果 `$1` 参数的值是 `start`,则执行 `start_nginx` 函数。
# 
# 3. `stop)`: 如果 `$1` 参数的值是 `stop`,则执行 `stop_nginx` 函数。
# 
# 4. `*)`: 如果 `$1` 参数的值既不是 `start` 也不是 `stop`,则执行下面的语句。
# 
# 5. `echo "Usage: $0 {start|stop}"`: 输出提示信息,告诉用户如何正确使用脚本。`$0` 表示脚本本身的文件名。
# 
# 6. `exit 1`: 退出脚本并返回状态码 1,表示脚本执行过程中出现了错误。
# 
# 7. `exit 0`: 如果脚本正常执行完毕,返回状态码 0,表示脚本执行成功。
# 
# 这段脚本的作用是根据用户传入的参数(`start` 或 `stop`)执行相应的操作(启动或停止 Nginx 服务)。如果用户传入了无效的参数或没有参数,则向用户展示正确的使用方法。这样设计使得脚本可以根据需求执行不同的任务,增强了脚本的灵活性和可重用性。如果您有任何进一步的问题或需要解释,请随时告诉我!🧐👨‍💻
# 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sky wide

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值