linux – 在cron脚本中更改运行级别是否安全?

我想为服务器B做一个夜间“hotclone”服务器A.建议服务器B在此操作期间运行最小守护进程,因此我想创建一个“最小”运行级别,它几乎只运行sshd并切换到/来自中间脚本中的运行级别,即:
# do some stuff ...

# take services down
telinit 2

# do backup ...

# bring services back up
telinit 3

# do post-backup stuff ...

我想做一个运行级别的开关,而不是显式启动/停止服务,所以我可以在许多不同配置的机器上使用相同的脚本(不同的服务,一些在systemd上的systemv-init上).我想将它全部保存在一个脚本中以保持可维护性,而不是创建一堆新的initd / systemd启动/停止脚本.

所以问题的本质是:
* telinit是否会停止脚本(假设cron在两个运行级别中)?
* telinit是否等待完成或立即返回?
*如果上述工作是“安全”的,或者是该方法的潜在问题?
*使用单个脚本是否有更好的方法(再次我宁愿避免安装一堆新的init脚本,所以这个东西基本上是“自包含的”和便携式的)

解决方法

我创建了以下脚本
#!/bin/bash
date
who -r
/sbin/telinit 2
who -r
/sbin/telinit 3
who -r
date

并将其安装在cron中

* * * * * /home/iain/test &>>/tmp/test.out

这是输出

Thu Mar 20 03:06:01 EDT 2014
         run-level 3  2014-03-20 03:05                   last=2
         run-level 2  2014-03-20 03:06                   last=3
         run-level 3  2014-03-20 03:06                   last=2
Thu Mar 20 03:06:01 EDT 2014

如您所见,脚本一直在运行.至于安全性,您可以根据您在环境中的测试来决定.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...