centOS开机自启动脚本

centOS7服务器
launch_shadowsocks.sh:

#!/bin/bash
# description:开机自启脚本
nohup ssserver -c /usr/local/python3Dir/lib/python3.7/site-packages/shadowsocks/config.json start > /dev/null 2>&1 &  #启动shadowsocks

/etc/rc.local:

#!/bin/bash
touch /var/lock/subsys/local
/usr/bin/setterm -blank 0 || true
# 添加部分
/home/Weilit/bin/launch_shadowsocks.sh > /home/Weilit/log/launch_shadowsocks.log 2>&1

现象是:服务器启动后,shadowsocks服务未启动,且log文件为空。

1. rc.local可执行权限

检查/etc/rc.local/etc/rc.d/rc.local有无执行权限:
在这里插入图片描述

2. 全局变量

为系统在启动过程的时候,当执行/etc/rc.local的时候,服务器还没完全进入系统,因此 ssserver这个全局变量是不存在的。
解决方法:
首先用which命令检查ssserver的绝对路径:
在这里插入图片描述
之后修改script文件,用绝对路径替换ssserver:
launch_shadowsocks.sh:

#!/bin/bash
# description:开机自启脚本
echo Enter launch_ss.sh #添加该句在sh执行时将内容打印到log文件中,方便查找问题
nohup /usr/local/python3Dir/bin/ssserver -c /usr/local/python3Dir/lib/python3.7/site-packages/shadowsocks/config.json start > /dev/null 2>&1 &  #启动shadowsocks

猜你喜欢

转载自blog.csdn.net/qq_36297936/article/details/86703688
今日推荐