我想每晚将服务器 A 的“热克隆”“热克隆”到服务器 B。建议服务器 B 在此操作期间运行最少的守护进程,因此我想创建一个“最小”运行级别,它几乎只运行 sshd 并切换到/从该运行级别中间脚本中的运行级别,即:
# do some stuff ...
# take services down
telinit 2
# do backup ...
# bring services back up
telinit 3
# do post-backup stuff ...
Run Code Online (Sandbox Code Playgroud)
我想做一个运行级别切换,而不是显式启动/停止服务,这样我就可以在许多不同配置的机器上使用相同的脚本(不同的服务,一些在 systemv-init 上,一些在 systemd 上)。我想将其全部保存在一个脚本中以实现可维护性,而不是创建一堆新的 initd/systemd 启动/停止脚本。
所以问题的本质是: * telinit 会停止脚本吗(假设 cron 在两个运行级别中)?* telinit 是等待完成还是立即返回?* 如果上述工作是“安全的”,或者该方法是否存在潜在问题?* 是否有更好的方法可以使用单个脚本(同样,我更愿意避免安装一堆新的 init 脚本,因此这个东西在很大程度上是“独立的”和可移植的)