开关机自动执行脚本方法[以及切换用户执行命令方法]

【开关机自动执行脚本方法】

摸索了两天,终于找找们到了:

首先要明确的一点是:unix(含linux)的OS有若干个运行级别:

参见1:http://xiaoli.itpub.net/post/39893/486580

参见2:http://www.blogjava.net/jvict/articles/261426.html

不同的unix或者linux的级别设置可能不一样,以我遇到的两个例子而言,SunOS的Solaris 10默认运行在level-3,而SuSE 11 Server默认运行在level-5。

我们打开系统的rc*.d目录:(对于solaris是/etc/rc3.d/;对于SuSE是/etc/rc.d/rc5.d)

里面有很多以K和S开头的文件,K(Kill)表示关闭系统前执行,S(Start)表示启动时执行,执行顺序按照K和S右面的两位字母的顺序,从小到大(明天验证一下)。

对于Solaris系统,只要新建一个K***或者S***文件,将需要执行的命名输入在里面,赋予执行权限就可以做到开机自动执行或者关机自动执行了,例如/bin/echo "start $(whoami)" >> /aaa/KKaa.tmp;

而对于SuSE系统,文件需要这样写:

#!/bin/bash
ARG=$1
case $ARG in
start):
/bin/echo "start $(whoami)" >> /aaa/KKaa.tmp
;;
stop):
/bin/echo "stop $(whoami)" >> /aaa/KKaa.tmp
;;
restart):
/bin/echo "restart $(whoami)" >> /aaa/KKaa.tmp
;;
esac

因为在开关机时是带参数执行这个文件,参数为“start”或者“stop”,如果不用这样的case语句是无法执行的。这一点上两者不同。

 

【切换用户执行命令方法】

su - username -c "command_line"来执行,如果当前用户是root,则不需要输入密码,且执行完毕后仍回到root用户。

 

上面两种方法结合使用,就能够在系统启动或者关闭时,执行多个用户下的任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皓月如我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值