Bash 别名用于启动/停止多个服务

Bash 别名用于启动/停止多个服务

我是一名使用 LAMP 堆栈的开发人员。

我的电脑运行 arch linux,所以它是基于 systemd 的。

它的 RAM 容量有限,为 8Gb:

  • 有时我会用它来工作
  • 有时玩游戏

我希望能够使用一个命令轻松启动/停止 LAMP 服务。
这样我就可以将它们保持禁用状态以节省一些内存。

我怎样才能完成上述操作而不用每次都写:

sudo systemctl start httpd.service
sudo systemctl start mariadb.service
sudo systemctl start redis.service

我将在下面发布我的解决方案,以防一些新手 bash 爱好者需要它,如果您有更好的解决方案,请添加它,我会给它点赞。

谢谢

答案1

首先禁用服务所以他们不会在启动时启动:

sudo systemctl disable httpd.service
sudo systemctl disable mariadb.service
sudo systemctl disable redis.service

然后编辑.bashrc在你的家里,并添加到最后

web() {
    #do things with parameters like $1 such as
    sudo systemctl "$1" httpd.service
    sudo systemctl "$1" mariadb.service
    sudo systemctl "$1" redis.service
}

现在你可以用一个简单的命令来启动/停止/重新启动所有相关服务

web start

按照您喜欢的任何方式更改 web()。

答案2

您可以定义并设置启动和停止的别名,如以下命令:

alias start_services='systemctl start httpd.service mariadb.service redis.service'
alias stop_services='systemctl stop httpd.service mariadb.service redis.service'

相关内容