目录

工欲善其事

实践出真知

活跃标签: linux java mysql 待分类 js springboot win10 windows 电路 vue macOS nginx esp32 git docker idea maven esp8266 python Arduino

存档:

X

[ linux ] 下设置开机自动运行脚本的5种方法

一、编辑 /etc/rc.d/rc.local 文件

在linux各项服务启动完毕之后,会运行/etc/rc.d/rc.local这个文件,所以把我们需要运行的脚本放在这里面就行了。
(ps:/etc/rc.local和/etc/rc.d/rc.local是同一个文件,软链接而已)

# cat /mnt/Autorun_script.sh
date > /tmp/bootup.txt
hostname >> /tmp/bootup.txt
echo `whoami` >> /tmp/bootup.txt

将/mnt/Autorun_script.sh这个脚本放到/etc/rc.d/rc.local这个文件最后一行

在这里插入图片描述

最后为了保险起见,别忘了加一个权限

chmod +x /mnt/Autorun_script.sh
chmod +x /etc/rc.d/rc.local

重启效果见下
在这里插入图片描述

二、crontab计划任务

可以自己设置时间,下面介绍另一个特殊的任务,叫@reboot,重启之后自动运行脚本。

在这里插入图片描述

效果见下
在这里插入图片描述

三、使用systemd,自己写个服务就ok了

上面介绍的两种方法,在任何的linux系统上都可以运行。第三种是适用systemd系统的,那么如何判定你的系统是不是systemd系统,运行ps命令

在这里插入图片描述

PID为1的进程是systemd就是,反之。
所以接下来,我们开始写systemd启动服务,并放在/etc/systemd/system/下。
在这里插入图片描述

写完之后我们更新一下systemd的配置文件,大功告成。

systemctl daemon-reload
systemctl enable Autorun_script.service

四、在/etc/profile.d/下写.sh文件

在/etc/profile.d/下写.sh文件,reboot即可
/etc/profile会遍历/etc/profile.d/*.sh

在这里插入图片描述

另外,几个脚本的区别:
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。

(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。

(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。你可以在这里设置你的个性化终端了,就像下面这样

在这里插入图片描述

(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。

(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的。~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

五、使用chkconfig管理,编辑/etc/init.d/下文件

我在设置开机自启脚本时,把我这个脚本放在了/etc/init.d/下,但是–add时报错了,见下面
在这里插入图片描述

后来度娘告诉我,得在这个文件里面添加两行注释,结果没问题了

(加一个#chkconfig和#description就可以)
在这里插入图片描述

然后再次添加并设置成开机自启动(注意防火墙和selinux)
在这里插入图片描述

这样开机自启的脚本就做好了

chkconfig --list Autorun_script.sh  #查看服务详情
chkconfig --del Autorun_script.sh  #删除服务
chkconfig Autorun_script.sh on/off  #开机自启开关

标题:[ linux ] 下设置开机自动运行脚本的5种方法
作者:llilei
地址:http://solo.llilei.work/articles/2023/04/22/1682172529306.html