我需要在具有不同操作系统版本的多个服务器中重新启动服务:
- Linux:
- RHEL 5 至 8,
- CentOS 5 至 8
- 苏塞 11, 12,
- Oracle Linux 5 至 8
- AIX 7,
- HPUX 11.31
任何人都可以帮助我使用 shell 脚本来确定操作系统版本,并根据操作系统版本使用 service restart 或 systemctl restart 或 /sbin/init.d/ restart 等命令重新启动服务。
答案1
Ansible 内置service
模块可以在一系列不同的初始化系统上重新启动服务,据我所知,这些系统涵盖了您列出的所有操作系统。
所以你不需要编写任何其他程序,你只需要完成 ansible 教程(如果你想同时管理多个服务器,这不是一个坏的起点,并且可以帮助你避免大量的工作和不一致),然后有
- name: Restart service, in all cases
ansible.builtin.service:
name: YOURSERVICEHERE
state: restarted
在你的剧本中。