服务开机自启动

时间:2022-07-11 15:40:17

一、开机启动

linux系统中将开机需要启动的程序或脚本加入到/etc/rc.local文件中,如下:

服务开机自启动


注意:

1、检查/etc/rc.local文件权限,如果权限不够需要进行设置 (chmod 777 /etc/rc.local)

2、如果权限足够的情况下,主机重启后没有启动设置的服务,那么可能主机没有执行/etc/rc.local文件。因此可执行一下命令:

 echo /etc/rc.local >> /etc/profile && source /etc/profile


二、脚本设置(如果通过设置了脚本启动服务)

startup.sh代码如下:

#! /bin/bash
#server startup

start_dir=`pwd`

function check() {
file_dir=$1
file=$1/$2
count=`ps -ef | grep $file | grep -v "grep" | wc -l`
echo "<$count> <`pwd`> <$file_dir> <$file>"
if [ 0 == $count ];
then
cd $file_dir
$file &
cd $start_dir
fi
}

while true;
do
#启动nginx
check /usr/local/nginx/sbin nginx
sleep 60
done
该脚本60秒一次轮询,判断 /usr/local/nginx/sbin目录下的nginx程序是否运行,若未运行则启动该服务。

其中在执行程序时首先跳入程序所在的目录,是为了在运行程序时,其路径下可能存在的配置文件。