linux关机触发脚本.doc
文本预览下载声明
实现linux在关机或重启的时候执行某个任务。
/etc/rc0.d 包含关机脚本K*?/etc/rc6.d 包含重启脚本K*??
Linux关机过程:?
先写一个脚本放在/etc/rc.d/init.d下,chmod -f 777 , 再ln -s 到 /etc/rc.d/rc0.d/K01脚本名 与 /etc/rc.d/rc6.d/K01脚本名,同时也要 ln -s 到 /etc/rc.d/rc3.d/S99脚本名 与/etc/rc.d/rc5.d/S99脚本名。?
K开头的代表系统关闭的时候执行,S开头的代表开机的时候执行。注意服务器脚本编写的规范,因为有K开通的软链接并不一定会在关机的时候自动去执行,这是为什么呢?刚开始一直没搞明白,后来从网上看到,执行K脚本的时候会查询/var/lock/subsys/下是否有与K开头脚本同名的空文件名,如果没有就不去执行,所以要按照服务器脚本编写的规范,启动的时候要在/var/lock/subsys/先touch一个与K01后面同名的空文件.同时也要调用/etc/rc.d/init.d/functions能够接受star与stop命令信号,具体可以参考/etc/rc.d/rc文件,本人是在/etc/rc.d/rc0.d/K01yum基础上改写实现的。shell如何在完成某项任务后执行某个动作?如传输文件完成后关机。
添加评论?
分享
默认排序按时间排序
5 个回答
2赞同反对,不会显示你的姓名
王滨?Python,?
2?人赞同
直接在脚本里加上halt就好了比如
#!/bin/bashwget?http://whatever/xxx.tar.gzdo_whateverhalt
当然halt要在root下执行才会有效果
发布于 2012-10-22?添加评论?感谢?
分享
?收藏???没有帮助???举报???作者保留权利
0赞同反对,不会显示你的姓名
Belleve编程、JavaScript话题优秀回答者?炼金术士
补一个 Powershell 的
do-something; stop-computer
发布于 2014-01-18?添加评论?感谢?
分享
?收藏???没有帮助???举报???作者保留权利
2赞同反对,不会显示你的姓名
匿名用户
2?人赞同
Do something halt
发布于 2014-01-16?1 条评论?感谢?
分享
?收藏???没有帮助???举报???作者保留权利
1赞同反对,不会显示你的姓名
匿名用户
1?人赞同
shell就是把一组命令放在一个文件中按照特定模式执行,里面可出现循环变量替换,函数,case,逐条堆积,思路清晰先什么后什么,执行即可!#!/bin/shecho “…………”echo “…………”echo “…………”
if [ $? -eq 0 ];thendoecho “…………”init 0done
…………………………………邪恶的分割线………………补充如下:上面是以前写的现在是这么写.人是要进步的.
#!/bin/bash#
if /bin/cp test1 test2 /dev/null 21;theninit 0if
编辑于 2015-11-19?3 条评论?感谢?
分享
?收藏???没有帮助???举报???作者保留权利
0赞同反对,不会显示你的姓名
知乎用户?年轻人最重要的品质是不撸
#!/bin/bash
cp filelime
if [ $? -eq 0 ];then #如果上面一个命令执行成功,则执行下面这个。
shutdown -p now
fi
Linux下如何在特定时间执行特定任务
1 仅执行一次的任务
2 循环执行的任务
3 可唤醒停机期间的工作任务
1?仅执行一次的任务
所需程序
atd服务
at命令
启动atd
# service atd restart
atd stop/waiting
atd start/running, process 11031
千万注意要在root下执行,不然会提示Rejected send message.
at的使用
使用at的权限(因为安全性考虑最好设置)
在/etc/at.allow中设置可以使用at的账号
在/etc/at.deny中设置不可以使用at的账号
示例
1分钟后执行mkdir
$ at now + 1 minutes
warning: commands will be executed using /bin/sh
at mkdir helloAt
at EOT
job 1 at Wed Feb 6 14:36:00 2013
查看工作
# at -c 2
#!/bin/sh
# atrun uid=0 gid
显示全部