Linux配置开机自启动执行脚本有哪些方法

Linux配置开机自启动执行脚本有哪些方法,第1张

设置test.sh为开机要启动的脚本

[root@oldboy scripts]# vim /server/scripts/test.sh

[root@oldboy scripts]# cat /server/scripts/ test.sh

#!/bin/bash

/bin/echo $(/bin/date +%F_%T) >>/tmp/ test.log

方法一:修改/etc/rc.local

[root@oldboy ~]# ll /etc/rc.local

lrwxrwxrwx. 1 root root 13 Mar 30 10:50 /etc/rc.local ->rc.d/rc.local

修改/etc/rc.local文件

[root@oldboy scripts]# tail -n 1 /etc/rc.local

/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null

重启系统,查看结果

[root@oldboy ~]# cat /tmp/test.log

2018-03-30_12:00:10

方法二:chkconfig管理

删除掉方法一的配置

[root@oldboy ~]# vim /etc/init.d/test

#!/bin/bash

# chkconfig: 3 88 88

/bin/bash /server/scripts/test.sh >腊敏/dev/null 2>/dev/null

[root@oldboy ~]# chmod +x /etc/init.d/test

添加到chkconfig,开机自启动

[root@oldboy ~]# chkconfig --add test

[root@oldboy ~]# chkconfig --list test

test 0:off 1:off 2:off 3:on 4:off 5:off 6:off

重启系统,查看结果

[root@oldboy ~]# cat /tmp/test.log

2018-03-30_12:00:10

2018-03-30_12:33:20

*** 作成功

关闭开机启动

[root@oldboy ~]# chkconfig test off

[root@oldboy ~]# chkconfig --list test

test 0:off 1:off 2:off 3:off 4:off 5:off 6:off

从chkconfig管理中删携局神除辩亏test

[root@oldboy ~]# chkconfig --list test

test 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@oldboy ~]# chkconfig --del test

[root@oldboy ~]# chkconfig --list test

service test supports chkconfig, but is not referenced in any runlevel (run

'chkconfig --add test')

最简单粗暴的方式直接在脚本 /etc/rc.d/rc.local (和 /etc/rc.local 是同一个文件,软链)末尾添加自己的 脚本

然后,增加脚本执行权限

第二种方式是在crontab中设置

也可以设置每次登录自动执行脚本,在 /etc/profile.d/ 目录下新建sh脚本,

/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 运行的通常二者设置大致相同,所以通常前者会调用后者。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11979916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存