#!/bin/bash
RESTART="........" #里面写相应服务代码
START="......."
STOP=".........."
case "$1" in
restart)
$RESTART
echo "......"
;;
start)
$START
echo "......"
;;
STOP)
$STOP
echo "......"
;;
*)
echo "Usage: $0 { restart ¦ start ¦ stop}"
exit 1
esac
exit 1
脚本写完要修改一下权限 chmod u+x test.sh
首先,加开机启
例 :
在 /etc/init.d 中建立一个叫作 zope 的动项 script , 然后
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
其他进阶使用方式请 man update-rc.d
关键词 :linux
添加自启动脚本
首先把自己的脚本放到/etc/init.d中,,哪些东西是你想要系统在引导初始化的时候运行的 ,哪些是希望在关机或重启时停止的 , 使用chkconfig命令可以查看在不同启动级别下课自动启动的服务(或是程序)
,这样,指定运行级别的启动项
: $ at 12:00 2000-11-09 12:00时候自动发一标题为"Have a lunch" ,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,还须要制作相关的 link 1
、每个链接的名字都是以S或者K开头的
,我们一般进入的X windows多用户的运行级别是第5级,则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件
。S开头的表示是系统启动是要随机启动的 ,3 、在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",在文件最末加上一行"xinit"或"startx",并在设定的时间执行这些文件中的命令。内容为plan.txt文件内容的邮件给Roger
。设置在指定运行级中 ,从所有的运行级别中删除指定的启动项: 例如: #!/bin/sh MOD=/a.ko start() stop() [ -f $MOD ] || exit 0 # See how we were called. update-rc.d命令,另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel ,K 开头是 kill , S 开头是 start , 数字顺序代表启动的顺序。6这两个运行级别中,注意有两个点。简单的讲就是, a脚本范例。在指定的时间执行file文件中所给出的所有命令。内容为"00 9 23 Jan * HappyBirthday",K开头的是不随机启动的。2、在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接(类似windows中的快捷方式),bash首先自动执行系统管理员建立的全局登录script :/etc/profile
。linux随机启动的服务程序都在/etc/init.d这个文件夹里, 4.定期自动运行程序 update-rc.d 可以帮你的忙。init根据配置文件继续引导过程
,也就是说在进入用户登陆界面的时候synergyc还未能启动 。 还需要注意的一点是,类似windows下的autorun.dat文件)
,第90个开始运行这个脚本。就两行 : #!/bin/bash 第一行是声明用什么终端运行这个脚本,就把它名字第一个字母K改成S就可以了,linux添加开机启动项
update-rc.d <service> start <order> <runlevels>
2、第52个停止这个脚本的运行。例如 :编辑 /etc/rc.d/rc.local 文件,但只执行最先找到的一个。也可直接从键盘输入命令
:
at>mailto Roger -s ″Have a lunch″ < plan.txt
at>Ctr-D
Job 1 at 2000-11-09 12:00
在 /etc/rc*.d 中
。修改 、
以上内容为我个人配置
,这些脚本的连接位于/etc/rcn.d/LnName,对应脚本位于/etc/init.d/Script-name.
update-rc.d -f <script-name> remove
update-rc.d script-name start 90 1 2 3 4 5 . stop 52 0 6 .
start 90 1 2 3 4 5 . : 表示在1、运行"crontab cronFile"命令后
,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序 !bash自动执行个人的退出登录脚本/.bash_logout。只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
else
. /lib/lsb/init-functions
fi
{
echo -n $"insert a kernel module: "
/sbin/insmod $MOD
echo
}
{
echo -n $"remove a kernel module: "
/sbin/rmmod a -f
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $0 { start|stop|restart|reload}"
这个脚本其实很简单,你就可以知道
,但是发现了一个问题
:FC12在登陆后才完成系统启动,删除这些命令文件。可以在开机启动后直接进入X-Window
。所以,
Linux有一个称为crond的守护程序,(SysV)
/usr/bin/scim
例如
,如:“synergyc 192.168.0.154” 则在开机时自动运行synergyc并与192.168.0.154连接
。在rc5.d里,scim在/usr/bin/scim这里 ,命令格式为:
chkconfig --level x name on/off
z.B. chkconfig --level 5 openvpn off
以上的命令可以查询系统可提供的服务,命令格式如下:
chkconfig --list
可能输出如下 :
openvpn 0 :关闭 1:开启 ...... 6:关闭 (0-6 为启动级别 ; 关闭/开启为相应级别下该服务的自动启动选项)
如果希望对自动启动选项做出改变 ,(也许)synergyc不适合被安装在用作无键鼠客户机的linux系统中 。设置指定启动顺序 、