创建等待启动/停止完成的脚本

创建等待启动/停止完成的脚本

我正在尝试为需要部署到远程服务器的应用程序创建构建脚本。该脚本需要关闭正在运行的 tomcat 实例,执行一些工作(复制/移动文件),重新启动 tomcat 实例,然后在第二个节点上重复该过程。

各个步骤非常简单。我所面临的困难是控制时间。我想确保在脚本开始移动文件之前 tomcat 应用程序服务器已完成关闭。我还想确保在第二个实例上开始关闭之前服务器已完成启动。

除了设置手动“等待”计时器之外,还有什么方法可以在 shell 脚本中执行此操作吗?

答案1

可用于systemctl查询服务状态:

systemctl is-active tomcat.service

手册

处于活动模式...

检查是否有任何指定的单元处于活动状态(即正在运行)。如果至少有一个处于活动状态,则返回退出代码 0,否则返回非零。除非指定 --quiet,否则这也会将当前单元状态打印到标准输出。

请注意,同一手册指出,systemctl status <unit>明确依赖退出状态被认为是“不完美的”。

相关内容