本发明涉及测试方法技术领域,具体涉及一种RHEL7&CentOS7系统Reboot测试的方法。
背景技术:
RHEL7&CentOS7中一个最主要的改变,就是切换到了systemd,它用于替代前任版本中的SysV和Upstart,对系统和服务进行管理。systemd是一个Linux操作系统下的系统和服务管理器,它被设计成向后兼容SysV启动脚本,并提供了大量的特性,如开机时平行启动系统服务,按需启动守护进程,支持系统状态快照,或者基于依赖的服务控制逻辑。先前的使用SysV初始化或Upstart的RHEL版本中,使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。而在RHEL7/CentOS7中,这些启动脚本被服务单元取代了。服务单元以.service文件扩展结束,提供了与初始化脚本同样的用途。目前在用的Reboot测试脚本针对不同版本Linux,过于繁琐复杂。
技术实现要素:
本发明要解决的技术问题是:本发明针对以上问题,提供一种RHEL7&CentOS7系统Reboot测试的方法,RHEL7&CentOS7系统通过将一个简单的Reboot测试脚本添加到服务单元,利用systemd开机运行这个服务单元即可实现Reboot测试。
本发明所采用的技术方案为:
一种RHEL7&CentOS7系统Reboot测试的方法,所述方法通过将Reboot测试脚本添加到服务单元,利用systemd开机运行该服务单元,实现Reboot测试。
所述方法实现步骤如下:
1)编辑Reboot测试脚本reboot.sh,放到root目录下;
2)建立服务单元reboottest.service,放到/usr/lib/systemd/system/目录下;
3)给Reboot测试脚本及服务单元添加权限;
4)配置reboottest.service服务开机自启动;
5)重启机器,开始Reboot测试。
所述方法在测试过程中,通过进入系统运行systemctl disable reboottest.service命令,停止测试。
所述reboottest.service服务单元内容如下:
1)服务在network启动后运行;
2)服务参数:以程序绝对路径启动服务开始运行命令,以程序绝对路径重启服务开始运行命令,以程序绝对路径停止服务开始运行命令;
3)服务在后台运行,并给服务分配独立的临时空间;
4)服务安装采用多用户模式。
本发明的有益效果为:
本发明针对目前在用的Reboot测试脚本过于繁琐复杂问题,只需要将一个简单的Reboot测试脚本添加到服务单元,利用systemd开机运行这个服务单元即可实现Reboot测试,优化了测试方法,简单易操作,并提高了测试效率。
附图说明
图1为本发明方法流程图。
具体实施方式
根据说明书附图,结合具体实施方式对本发明进一步说明:
如图1所示,一种RHEL7&CentOS7系统Reboot测试的方法实现流程和相关命令如下:
1)编辑Reboot测试脚本reboot.sh,放到root目录下,具体内容如下:
#/bin/bash
sleep 40 #开机后等待40秒
echo "`date` reboot" >> /root/times #reboot时间记录到times文件
cat /root/times | grep reboot | wc -l | awk {print} >> /root/times #统计reboot次数记录到times文件
reboot #重启
2)建立服务单元reboottest.service,放到/usr/lib/systemd/system/目录下,这样Reboot测试脚本在开机没有登录用户的情况下就能启动运行,reboottest.service服务单元内容如下:
[Unit] #服务说明
Description=reboot test #服务描述
After=network.target #在network启动后运行该服务
[Service] #服务参数
ExecStart=/root/reboot.sh start #以程序绝对路径启动服务开始运行命令
ExecReload=/root/reboot.sh restart #以程序绝对路径重启服务开始运行命令
ExecStop=/root/reboot.sh stop #以程序绝对路径停止服务开始运行命令
Type=forking #后台运行
PrivateTmp=ture #给服务分配独立的临时空间
[Install] #服务安装
WantedBy=multi-user.target #多用户模式
3)给Reboot测试脚本及服务单元添加权限,命令如下:
chmod 754 reboot.sh
chmod 754 reboottest.service
4)配置reboottest.service服务开机自启动,命令如下:
systemctl enable reboottest.service
5)重启机器即可开始Reboot测试,进入系统运行如下命令即可停止测试。
systemctl disable reboottest.service
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。