LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1266|回复: 4

编辑一个Linux重启设置脚本

[复制链接]
发表于 2011-9-27 13:16:14 | 显示全部楼层 |阅读模式
我公司用的是linuxt系统,机器名称是按ws1,ws2.....,现在希望写一个脚本,里面包含机器名和时间(每台机器对应不同的时间),让linux系统去读取此文本,如果是ws1读到的,那么它就在它对应的时间里重启(其它的一样),请问这个怎么具体写和设置,请知道的老师或朋友告知一下,非常感谢!
发表于 2011-9-27 15:16:31 | 显示全部楼层
假设文件存放于主机XXX,可用web方式,或ssh公匙无密码
文件格式
host YYMMDDhhmm  jobs

所有其它主机开机执行
[code]
#!/bin/sh
URL="XXX"
HOST=`hostname`
wget $ULR -o /tmp/temp_url_$$

info=`grep "^$HOST "`
if [ x"$info" = "x" ]; then
    exit 1
fi

time=`echo $info|awk '{print $2}'`
command=`echo $info|awk '{$1=""; $2=""; print $0}'`

echo $command | at -t time
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-27 16:53:32 | 显示全部楼层
这位老兄可以帮忙解释一下吗?好象没有重启啊,思路好象是对的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-27 17:16:22 | 显示全部楼层
info=`grep "^$HOST "`
if [ x"$info" = "x" ]; then
exit 1
fi

time=`echo $info|awk '{print $2}'`
command=`echo $info|awk '{$1=""; $2=""; print $0}'`

这老兄能帮我解释下这个的意思和作用吗?谢谢,好象也达不到让主机重启啊?
回复 支持 反对

使用道具 举报

发表于 2011-9-27 17:52:23 | 显示全部楼层
Post by dailydai;2152802
info=`grep "^$HOST "`
if [ x"$info" = "x" ]; then
exit 1
fi

time=`echo $info|awk '{print $2}'`
command=`echo $info|awk '{$1=""; $2=""; print $0}'`

这老兄能帮我解释下这个的意思和作用吗?谢谢,好象也达不到让主机重启啊?



文件格式为:
host YYMMDDhhmm jobs
主机名,时间,还有命令

grep行就是检查有没有自己的任务
time行就是取得操作时间
command就是要执行的命令, 你可以直接所为你要的重启, 文件格式里的jobs列就可以不要了

最后
在at里添加任务
剩下的at自己会处理的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表