求一个Shell脚本,在每周的周四晚上18:36连续重启十次,希望能记下重启每次重启的时间。

至少得两个脚本吧,一个放在crontab里,作为第一次重启的触发脚本,另一个可放在/etc/rc.local里,作为每次启动后记录日志,并再次重启的脚本

vi /usr/local/bin/shell1.sh

#!/bin/bash

if [ ! -d /var/reboot ];then

mkdir /var/reboot

fi

echo "1" > /var/reboot/reboot.times

echo "$(date +%c): 开始第1次重启动 ..." >> /var/reboot/reboot.log

/sbin/shutdown -r now

vi /usr/local/bin/shell2.sh

#!/bin/bash

if [ -f /var/reboot/reboot.times ];then

i=`cat /var/reboot/reboot.times`

echo "$(date +%c): 第$i次重启动已完成 ..." >> /var/reboot/reboot.log

if [ $i -lt 10 ];then

let i=i+1

# 或

#i=`expr $i + 1`

echo $i > /var/reboot/reboot.times

echo "$(date +%c):开始第$i次重启动..." >> /var/reboot/reboot.log

/sbin/shutdown -r now

else

rm -f /var/reboot/reboot.times

fi

fi

把shell1.sh 和shell2.sh都放到/usr/local/bin里,添加可执行权限,然后在root的crontab里加上:

36 18 * * 4 /usr/local/bin/shell1.sh

并在/etc/rc.local里加上:

/usr/local/bin/shell2.sh