#!/bin/bash
. /etc/mediax.profile
cronShellFile="${MEDIAX3600_HOME}/${MEDIAX_ROOT}/tools/common/startRestartClusterProc2.sh";
log_file="/tmp/cronShellFileTest.log";
crontabFile="/var/spool/cron/tabs/root";
function main()
{
minute="0,5,10,15,20,25,30,35,40,45,50,55"
hour="*";
day="*";
month="*";
week="*";
cronCommand="${minute} ${hour} ${day} ${month} ${week} ${cronShellFile}";
tag=`cat ${crontabFile}|grep "${cronShellFile}"`;
if [ "_${tag}" == "_" ]
then
/usr/bin/killall cron;
chmod u+w ${crontabFile};
echo "${cronCommand}" >> ${crontabFile};
/usr/sbin/rccron restart;
chmod u-w ${crontabFile};
else
/usr/bin/killall cron;
chmod u+w ${crontabFile};
grep -v "${cronScript}" ${crontabFile} > ${temp};
echo "${cronCommand}" >> ${temp};
mv ${temp} ${crontabFile};
/usr/sbin/rccron restart;
chmod u-w ${crontabFile};
fi;
i=1;
while [ "${i}" -lt "44" ]
do
echo "start:`date +%Y-%m-%d" "%H:%M:%S`" | tee -a ${log_file};
hagrp -state | tee -a ${log_file};
sleep 300
echo "" | tee -a ${log_file};
echo "" | tee -a ${log_file};
done
}
main
. /etc/mediax.profile
cronShellFile="${MEDIAX3600_HOME}/${MEDIAX_ROOT}/tools/common/startRestartClusterProc2.sh";
log_file="/tmp/cronShellFileTest.log";
crontabFile="/var/spool/cron/tabs/root";
function main()
{
minute="0,5,10,15,20,25,30,35,40,45,50,55"
hour="*";
day="*";
month="*";
week="*";
cronCommand="${minute} ${hour} ${day} ${month} ${week} ${cronShellFile}";
tag=`cat ${crontabFile}|grep "${cronShellFile}"`;
if [ "_${tag}" == "_" ]
then
/usr/bin/killall cron;
chmod u+w ${crontabFile};
echo "${cronCommand}" >> ${crontabFile};
/usr/sbin/rccron restart;
chmod u-w ${crontabFile};
else
/usr/bin/killall cron;
chmod u+w ${crontabFile};
grep -v "${cronScript}" ${crontabFile} > ${temp};
echo "${cronCommand}" >> ${temp};
mv ${temp} ${crontabFile};
/usr/sbin/rccron restart;
chmod u-w ${crontabFile};
fi;
i=1;
while [ "${i}" -lt "44" ]
do
echo "start:`date +%Y-%m-%d" "%H:%M:%S`" | tee -a ${log_file};
hagrp -state | tee -a ${log_file};
sleep 300
echo "" | tee -a ${log_file};
echo "" | tee -a ${log_file};
done
}
main
本文介绍了一个使用Bash脚本实现的Cron作业调度案例,该脚本用于周期性地启动或重启集群进程,并记录详细的日志信息。通过修改Cron配置文件,确保指定的任务能够按照预设的时间间隔执行。此外,脚本还包含了循环记录系统状态的逻辑。
1856

被折叠的 条评论
为什么被折叠?



