我正在编写一个脚本,该脚本要在每次关闭ubuntu系统之前运行。我将名为myscript的脚本放置在/etc/init.d文件夹中,然后在rc0.d和rc6.d中创建了符号链接,在rc5.d中创建为K01myscript和S01myscript。但是问题在于该脚本根本没有运行。
我的脚本@paxdiablo-
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LOGPATH=/home/user/Documents
lockfile=/var/lock/subsys/decomission
now=$(date +'%T')
start() {
touch $lockfile
echo "[$now] System startup" >> $LOGPATH/test.log
}
stop() {
echo "[$now] System shutdown" >> $LOGPATH/test.log
rm -f $lockfile
}
status() {
echo "[$now] Hi, you're checking status" >> $LOGPATH/test.log
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
$0 stop
$0 start
;;
status)
status
;;
*)
## If no parameters are given, print which are avaiable.
echo "Usage: $0 {start|stop|status}"
exit 1
;;
esac
答案 0 :(得分:1)
这个问题很旧,但是我今天正在研究这些行,所以只想检查一下,是否添加了要在init下运行的脚本/服务。我猜您需要检查chkconfig --list
的输出。如果未列出,则没有配置为由init系统执行。例如:
[testfolk@jomohost ~]$ sudo chkconfig --list|grep myscript
myscript 0:off 1:off 2:on 3:on 4:off 5:on 6:off
答案 1 :(得分:0)
在脚本的开头,您必须设置PATH,例如:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin