当前位置: 首页 > 工具软件 > sh > 使用案例 >

linux开机自动启动sh脚本

蒋阳华
2023-12-01

目录

我的sh文件目录:/home/java/start.sh

我的sh文件内容:

一、将sh文件写入/etc/rc.d/rc.local(最终失败了,这个文件死活开机不运行,知道的道友麻烦教一下)

1、给sh文件添加可执行权限

2、将脚本添加到rc.local最后一行

3、添加可运行权限

4、重启

二、使用 crontab(成功)

1、通过 crontab -e 来设置

2、问题

3、解决问题


我的sh文件目录:/home/java/start.sh

我的sh文件内容

#!/bin/bash

# 1. 检查程序的运行状态,避免重复启动
kill_pid=`ps -ef | grep java | grep  "SESAN_YN_public_health-1.0.0" | grep -v grep | awk '{print $2}'`
if [ -n "${kill_pid}" ]
then
        echo "pid = "${kill_pid}
    echo "SESAN_YN_public_health-1.0.0 程序正在运行中,请勿重复启动"
    exit 1
fi

# 2. nohup  后台运行脚本
nohup java -jar /usr/local/etc/SESAN_YN_public_health-1.0.0.jar >nohup.out  2>&1  &

# 3. 显示日志
tail -200f ./nohup.out

一、将sh文件写入/etc/rc.d/rc.local(最终失败了,这个文件死活开机不运行,知道的道友麻烦教一下)

1、给sh文件添加可执行权限

$ cd /home/java
chmod +x start.sh

2、将脚本添加到rc.local最后一行

$ vim /etc/rc.d/rc.local
 
/home/java/start.sh

3、添加可运行权限

chmod +x /etc/rc.d/rc.local

4、重启

$ sudo reboot

二、使用 crontab(成功)

1、通过 crontab -e 来设置

$ crontab -e
 
@reboot /home/java/start.sh

2、问题

这样我运行还是失败:失败原因通过cat查看错误日志

$ cat /var/spool/mail/root

错误原因:找不到java环境

nohup: failed to run command ‘java’: No such file or directory

3、解决问题

运行jar包前 source /etc/profile

# 2. nohup  后台运行脚本
source /etc/profile
nohup java -jar /usr/local/etc/SESAN_YN_public_health-1.0.0.jar >nohup.out  2>&1  &

 类似资料: