文章目录

  • 用途、大致步骤
  • 一、创建脚本
    • 1、autoStart.sh 放到/etc/rc.d/init.d文件夹中、权限赋值777或者755都行
    • 2、other.sh可以放在系统中的任何位置、权限777或者755
  • 二、把autoStart.sh注册到开机启动里面
    • 1、autoStart.sh脚本放到/etc/rc.d/init.d文件夹中后执行命令;注意:先放脚本在执行命令
    • 2、执行完毕可执行下面命令查看是否添加上了
    • 3、重启系统,查看你自己的脚本是否被执行
  • 三、相关说明
    • 1、为什么要导入环境变量`. /etc/profile`
    • 2、切换到当前脚本路径`CURPATH=$(cd "$(dirname "$0")"; pwd) && cd $CURPATH`
    • 3、chkconfig命令
    • 4、取消注册开机自启
    • 5、推荐autoStart.sh中不要写过多的代码
  • 四、总结

用途、大致步骤

测试环境centos7

用途:linux开机自动执行脚本,启动java程序。
步骤:
1、在/etc/rc.d/init.d文件夹中创一个开机能够执行的脚本autoStart.sh
2、在autoStart.sh脚本中添加想要执行的代码或者调用自定义的脚本other.sh


一、创建脚本

1、autoStart.sh 放到/etc/rc.d/init.d文件夹中、权限赋值777或者755都行

#! /bin/sh
# chkconfig: 345 99 10case "$1" instart)# 这里放自定义执行脚本或者代码,推荐把需要执行的代码放到其它地方去,这里只做调用脚本的操作;# 这段做测试使用,开机启动后会在/root目录创建一个autostart.log文件,则证明生效了echo $(date "+%Y-%m-%d %H:%M:%S") >> /root/autostart.log#sudo bash /opt/other.sh #我这里是调用其它地方的脚本,方便隔离开,后面有其它想开机自启的在这里加执行命令就可以了;# 这里放自定义执行的代码或者逻辑;;*);;
esac
exit 0

2、other.sh可以放在系统中的任何位置、权限777或者755

这里面就是存放的你自己需要执行的代码了,下面只做示例使用,我的是放在/opt/目录下;

#! /bin/bash
# 导入环境变量;注意:不能少、不能少、不能少
. /etc/profile
# 重要:切换到当前脚本的路径下
CURPATH=$(cd "$(dirname "$0")"; pwd) && cd  $CURPATH# 下面就是你自己需要执行的具体命令了:我的是启动java程序
# nohup java -jar  /opt/self-server.jar

二、把autoStart.sh注册到开机启动里面

1、autoStart.sh脚本放到/etc/rc.d/init.d文件夹中后执行命令;注意:先放脚本在执行命令

chkconfig --add autoStart.sh

2、执行完毕可执行下面命令查看是否添加上了

chkconfig --list

3、重启系统,查看你自己的脚本是否被执行

sudo reboot

三、相关说明

1、为什么要导入环境变量. /etc/profile

开始时候我并没有发现需要写这段代码,然后执行到other.sh脚本总是不成功,查看日志时候提示找不到java命令,正常情况下手动执行other.sh是没有任何问题的,但是自动启动时候就会提示找不到java命令,反正翻越了一些文章,大概说的是系统启动过程中执行先后顺序的问题,在执行autoStart.sh时候,环境变量还没有加载进来,所以在环境变量中配置的那些命令就可能使用不了,需要在执行代码前手动导入一下;
注意:. /etc/profile 符号/etc/profile之前是有个空格的,不要忽略或者删掉;
参考文章:linux 系统脚本 环境变量 的启动顺序

2、切换到当前脚本路径CURPATH=$(cd "$(dirname "$0")"; pwd) && cd $CURPATH

因为autoStart.sh是在/etc/rc.d/init.d目录下,如果是调用other.sh,那么other.sh的路径也变相于是在/etc/rc.d/init.d目录下,所以在other.sh中使用相对路径的话,会提示找不到各种文件、文件夹;

3、chkconfig命令

参考文章:Linux chkconfig命令

4、取消注册开机自启

chkconfig --del autoStart.sh

5、推荐autoStart.sh中不要写过多的代码

autoStart.sh里面推荐只写调用其它脚本的代码,这样的话便于维护,后续如果有其它需要开机自动执行或者想取消的,只需要在里面添加、删除调用命令就可以了,不需要再来搞一遍上述操作;

四、总结

1、打开冰箱;
2、把大象塞进去;

linux开机自动执行脚本、运行程序相关推荐

  1. Linux 开机自动执行脚本的两种方式

    前言 很多情况下,我们都希望服务重启之后,很多应用都能自动启动,那么除了linux 提供的自启动配置之外,我们也可以在开机之后,通过指定 一些脚本的具体路径,或者是某个服务的启动命令具体路径,来进行服 ...

  2. Debian9开机自动执行脚本或程序

    1.service编写,如创建aibox_service.service文件 [Unit] Description=aibox_service ConditionPathExists=/etc/ini ...

  3. 龙芯looongnix系统开机自动执行脚本

    龙芯looongnix系统开机自动执行脚本 一.设置自动登录 默认无法通过登陆窗口 lightdm 登陆 loongson用户,但是我们可以通过配置让 lightdm 支持 loongson 登陆. ...

  4. Linux开机自动化执行脚本的四种方法(真实案例分享)

    Linux开机自动化执行脚本的四种方法(真实案例分享) 最近眼睛有点疼,可能是长时间面对电脑屏幕的原因罢.百度后安装了Redshift这款护眼工具,只要事先写好配置文件它会根据你的地理位置自动调节屏幕 ...

  5. linux开机自动执行命令

    /etc/rc.local是/etc/rc.d/rc.local的软链,像windos的快捷方式 开机自动执行的命令在此文件尾部exit 0 之前输入即可 给/etc/rc.local文件添加执行权限 ...

  6. linux开机自动执行命令或自动启动程序(rc.local)

    linux开机的最后会执行/etc/rc.local,因此可以在此脚本里面添加shell命令自动执行或者自动启动某个进程. 比如 自动输出信息: #!/bin/sh -e # # rc.local # ...

  7. Ubuntu 开机自动执行脚本

    修改/etc/rc.local   最后exit 0 前面加入要执行的命令或脚本, 不需要sudo , /home/ly/goagen/Proxy.py   开机自动开启代理 转载于:https:// ...

  8. linux脚本开机自动执行脚本文件,如何让linux开机自动执行sata里头的脚本文件

    基本步骤如下:1.创建包含sql命令的sql脚本文件文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:--创建表,使用"--"进行注释create table ...

  9. 1 在 Linux 下开机自动重启脚本(亲测)

    /etc/rc.local 开机启动程序,把需要开机自动运行的程序写在这个脚本里 /etc/init.d 这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本. 要重新启 ...

  10. Windows自动开机及自动执行脚本(后者需要一定的编程基础)

    最重要的设置 首先查看电脑的休眠功能是否开启,如果没有需要先开启计算机的休眠功能(注意是"休眠"而不是"睡眠").比较直接的方法是,点击系统"开始&q ...

最新文章

  1. Android 数据库之Cursor
  2. python列表添加元组_【Python爬虫】列表、元组、集合练习
  3. (转)SSH批量分发管理非交互式expect
  4. Oracle的一点注意点
  5. 一些自己关注的人工智能杂志(注意:这里所列的影响因子是08年的IF)
  6. Demuxed:编解码器和压缩的未来
  7. php 命令行 php.ini,php web环境和命令行环境下查找php.ini的方法分享
  8. 开源软件那么多,我们该如何选择?|洞见
  9. python连接oracle数据库_深入理解Python3.6连接Oracle数据库
  10. python 中time和datetime_python中time模块与datetime模块的详解
  11. VC调用QT的UIDLL
  12. 这样的促销海报,还怕卖不出去?
  13. uva 1331 - Minimax Triangulation(dp)
  14. 01 Python基础
  15. android web service视频教程,需要一个简单的android / webservice工作教程?
  16. 惠普p1106打印机安装步骤_hplaserjetp1106打印机驱动安装说明
  17. win32 窗口 绘制矩形
  18. python合并多个pdf_python使用PyPDF2把多个pdf文件合并成一个
  19. 【考前冲刺】计算机三级网络技术之综合题-IP地址计算
  20. 利用74LS373对 LED 和数码管分别进行控制,数码管显示所亮 LED 的位置

热门文章

  1. 市场营销策划书大纲怎么写
  2. 【Python】利用Python对招聘信息数据分析
  3. 网页截图怎么截一整张_如何对整个网页页面进行截图
  4. 蜜蜂科技Bee+创始人贾凡、OFO创始人戴威入选高山大学2018级名单
  5. win7网上邻居_Win7网上邻居打不开属性
  6. 【3D激光SLAM(二)】Velodyne激光SLAM学习之Velodyne-16线激光雷达在Jetson Nano上的配置使用
  7. 研究团队再次发现安全漏洞,微软警告Azure用户
  8. 总结使用Unity 3D优化游戏运行性能的经验
  9. codeforces 645 D Robot Rapping Results Report 【树形dp】
  10. 青囊如可授 从此访鸿蒙的意思,有关于中元节的诗内容