目录
一.问题描述和分析
二.实现脚本开机自启动的过程
2.1确认该系统是不是systemed系统
2.2创建并配置该脚本的systemd服务
2.2.1创建服务
2.2.2配置服务
2.3启动服务
三.问题解决结果
3.1查看服务状态
3.2查看摄像机在线状态
3.3查看视频是否正常
一.问题描述和分析
假期结束,重启服务器过程中,发现更新域名的DNS记录脚本没有正常启动,通过域名方式接入视频监控到平台的摄像机也因此离线,如下图所示。
查找该脚本启动历史,发现它一直是nohup后台执行并启动,没有配置开机自启动。为解决该问题,决定使用systemd实现该脚本的开机自启。
二.实现脚本开机自启动的过程
2.1确认该系统是不是systemed系统
使用命令:
ps aux
查看返回结果,如果返回结果中pid为1的进程是systemd,则该系统是systemd系统。如下图所示,系统是systemd系统,可以进行后续过程。
2.2创建并配置该脚本的systemd服务
2.2.1创建服务
进入/etc/systemd/system/文件中,使用touch命令创建一个需要的systemd服务,命令如下:
cd /etc/systemd/system/touch AlNS.service #AlNS就是systemd服务名
新创建的服务可通过ll命令看到,如下图所示则该服务创建成功。
2.2.2配置服务
使用如下命令:
vi AlNS.service
配置服务,具体配置如下图示。
配置的可配置项具体解释如下:
Description:配置服务的描述,该项可以自定义。
ExecStart:配置服务所需的脚本的路径,该路径需要填写绝对路径。
做好配置后,保存修改并退出。
2.3启动服务
接下来运行下面两条命令实现脚本的systemd服务开机自启。
systemctl daemon-reloadsystemctl enable AlNS.service
配置好后,后续服务器重启后就会自动开启,无需手动操作。
三.问题解决结果
使用reboot命令重启服务器观察结果看问题是否得到解决。
3.1查看服务状态
服务器重启后,使用ps -ef 查看服务状态。如下图示,该返回证明服务正常。
3.2域名的DNS记录检查
登录接入域名的域名控制台,查看子域名的DNS记录的IP是否和服务器所在公网是否一致,下图是查询的服务器的公网IP:
登录域名控制台,查看子域名DNS记录的结果如下图所示。
经过比较,子域名DNS记录的IP地址和服务器公网IP一致;证明服务器公网IP变化后可以及时修改相关DNS记录。
3.2查看摄像机在线状态
登录域名接入的摄像机界面,如下图示,该摄像机注册状态恢复成在线。证明摄像机能通过域名接入平台。
3.3查看视频是否正常
登录该摄像机接入平台的客户端,查看视频是否正常,查看结果如下图所示。
视频可以正常查看,整个过程经过检查都没有问题,问题得以顺利解决。
四.关于systemd的补充
systemd是一个Linux系统基础组件的集合,提供了系统和服务管理器功能,负责启动系统并管理系统中运行的服务和进程。它支持并行化任务、按需启动守护进程、利用Linux的cgroups监视进程,并具有快照和系统恢复能力。
此外,systemd还维护挂载点和自动挂载点,管理登录用户列表和系统账户,可以运行容器和虚拟机,并能简单管理网络配置等。它是现代Linux发行版中广泛使用的系统和服务管理器,可以提高系统启动速度和服务管理效率。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。