linux命令开机自启 linux开机自动执行命令( 三 )


5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复 。at命令的一般格式为:at [ -f file ] time,在指定的时间执行file文件中所给出的所有命令 。也可直接从键盘输入命令:
6.创建开机自启动脚本
1) 将你的启动脚本复制到 /etc/init.d目录下
以下假设你的脚本文件名为 test 。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可 。在你有多个启动脚本 , 而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了 。该命令的输出信息参考如下:
update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸载启动脚本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令输出的信息参考如下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test
Linux配置开机自启动执行脚本有哪些方法设置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')
linux开机自启动,如何跳过开机动画某个程序方便后续linux命令开机自启的管理;那么我们如何在开机时候linux命令开机自启,运行此账户安装的程序呢?例如:以linux下指定mycount用户在linux开机时执行/home/sun/startXX.sh为例:
以root登录linux
执行vi /etc/rc.d/rc.local
在文档末尾添加一行语句:su – mycount -c “/home/sun/startXX.sh”
保存rc.local即可 。
这个地方一定要注意 su – 这个是环境的变量也会做相应的转换;如果环境变量没有改变的话linux命令开机自启,我们用su 就可以了 。
二、
在Linux中以普通用户开机自动运行脚本程序
测试环境:CentOS6.5
管理员:root
普通用户:test1
实现目标:在Linux启动时,以普通用户test1自动运行位于根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:

推荐阅读