一、开机启动
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该脚本60秒一次轮询,判断 /usr/local/nginx/sbin目录下的nginx程序是否运行,若未运行则启动该服务。
#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
其中在执行程序时首先跳入程序所在的目录,是为了在运行程序时,其路径下可能存在的配置文件。