命令格式如下: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
比如: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。