app教程网 综合百科 linux添加开机自启动脚本示例详解(linux怎么创建启动器)

linux添加开机自启动脚本示例详解(linux怎么创建启动器)

命令格式如下:chkconfig - list可能输出如下:openvpn 0: close 1: open.6:关闭(0-6为启动级别;关闭/打开是相应级别服务的自动启动选项)如果要更改自动启动选项,

2.登录时自动运行程序。当用户登录时,bash首先自动执行系统管理员建立的全局登录脚本:/etc/profile。

然后bash在用户的主目录下依次查找三个特殊文件中的一个。bash_profile,/。bash_login,/。配置文件,但只执行找到的第一个。因此,

只需根据实际需要在上述文件中添加命令,就可以在用户登录时自动运行部分程序(类似于DOS下的Autoexec.bat)。

3.注销时自动运行程序。注销时,bash自动执行个人注销脚本/。bash_logout。举个例子,

添加命令' tar-cvzfc.source.tgz *。' c '到/。bash_logout,然后自动执行‘tar’命令来备份*。c文件。

4.定期自动运行程序Linux有一个守护进程叫做crond,主要作用是定期检查/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。

用户可以通过crontab命令创建、修改和删除这些命令文件。例如,创建一个内容为“00923 Jan * Happy Birthday”的crondFile,

运行' crontab cronFile '命令后,系统会在1月23日上午9:00自动执行' HappyBirthday '程序(' * '表示不管是哪一天)。

5.在固定时间自动运行程序执行命令at类似于crond(但只执行一次):命令在给定时间执行,但不会自动重复。at命令的一般格式是:在[-f file]时间,

在指定时间执行文件中给出的所有命令。您也可以直接从键盘输入命令:

12:00在mailto Roger-s吃午饭"计划。txtatctr-DJob 1 2000-11-09 12:00

在2000年11月9日12: 00,一封标题为“共进午餐”的电子邮件自动发送给Roger,该邮件包含plan.txt文件的内容。

#!/bin/bashRESTART=''#里面写相应服务代码开始='……'停止='……'案例' $ 1 ' in restart)$ restart echo '……'start)$ start echo '……'STOP)$ STOP echo“……”;*)回声'用法:$ 0 {重新启动开始停止} '退出1esac

exit 1

脚本完成后,需要修改权限chmod u xtest.sh。

首先,linux随机启动的服务程序都在/etc/init.d文件夹下,里面的文件都是脚本文件(脚本程序简单来说就是把要运行的程序写成一个文件,让系统按顺序执行。

类似windows下的autorun.dat文件),另外/etc文件夹下还有名为rc1.d、rc2.d、rc6.d的文件夹,都是linux的不同运行级别。

我们一般输入的X windows多用户的运行级别是5级,也就是rc5.d这个文件夹中的脚本文件就是运行5级时会随机启动的服务程序。应该注意的是,

每个rc (1-6)中的文件。d文件夹实际上是/etc/init.d文件夹中文件的软连接(类似于windows中的快捷方式),即所有的服务都在/etc/init.d文件夹中。

和每个rc(1-6)。d只链接它需要启动的对应服务程序!

要启动scim(一个程序),首先要知道scim程序在哪里,可以用locate命令找到。scim在这里是/usr/bin/scim,其中usr表示它属于用户,bin表示linux中的可执行程序。

这样我就可以写一个脚本程序,放在/etc/init.d中,然后在rc5.d中做一个相应的软链接,这个脚本其实很简单,就两行:

#!/bin/bash/usr/bin/scim

第一行是声明使用什么终端来运行这个脚本,第二行是要运行的命令。

还需要注意的是,在rc5.d中,每个链接的名字都是以S或者K开头的,其中S表示系统会随机启动,K不随机启动。通过这种方式,您可以知道,如果我希望任何服务随机启动,

把它名字的第一个字母K改成S就行了,当然,S改成K之后,这个服务就不能随便启动了。所以,我不得不把这个链接命名为SXXX,这样系统就可以让它随机启动。

添加自启动脚本

首先将您的脚本放在/etc/init.d中,然后执行以下指令:

update-rc.d a start 90 2 3 4 5 . stop 90 0 1 6 .

其中A是你的脚本,注意有两点。

一个脚本示例。

#!/bin/sh

# Source function library.if [ -f /etc/init.d/functions ]; then. /etc/init.d/functionselse. /lib/lsb/init-functionsfi

MOD=/a.ko

start() {echo -n $'insert a kernel module: '/sbin/insmod $MODecho}

stop() {echo -n $'remove a kernel module: '/sbin/rmmod a -fecho}

[ -f $MOD ] || exit 0

# See how we were called.case '$1' instart)start;stop)stop;restart|reload)stopstart;*)echo $'Usage: $0 {start|stop|restart|reload}'

update-rc.d命令用于自动升级System V类型初始化脚本。简单地说,您可以使用它来帮助您设置您希望系统在引导初始化期间运行什么,以及您希望在关机或重启期间停止什么。

这些脚本的链接位于/etc/rcn.d/LnName,对应的脚本位于/etc/init.d/Script-name。

按指定顺序停止:update-RC . d stop 3。从所有运行级别删除指定的启动项目:update-RC . d-f <script-name > remove。

比如:update-RC . d script-name start 9012345。停5206。开始9012345。这意味着在1、2、3、4和5这五个操作级别中,

如果将脚本添加到/etc/init.d,则需要在/etc/rc *中创建相关链接。d.k以kill开头,S以start开头,数字顺序代表开始顺序。

(SysV)

Update-rc.d可以帮到你。

示例:

在/etc/init.d中创建一个名为zope的脚本,然后

update-rc.d zope defaults

将生成以下链接:

Adding system startup for /etc/init.d/zope .

/etc/rc0.d/K20zope - ./init.d/zope/etc/rc1.d/K20zope - ./init.d/zope/etc/rc6.d/K20zope - ./init.d/zope/etc/rc2.d/S20zope - ./init.d/zope/etc/rc3.d/S20zope - ./init.d/zope/etc/rc4.d/S20zope - ./init.d/zope/etc/rc5.d/S20zope - ./init.d/zope

其他高级用法,请使用manupdate-rc.d。

本文来自网络,不代表本站立场,转载请注明出处:https: