23,404
社区成员
发帖
与我相关
我的任务
分享
#!/bin/bash
WORK_DIR="/opt/pub/software/lzw"
LOG_FILE="${WORK_DIR}/lzw.log"
AUTO_EXEC_CONF="${WORK_DIR}/run_lzw.tmp"
AUTO_EXEC_CONF_BAK="${WORK_DIR}/run_lzw.tmp.bak"
AUTO_EXEC_FILENAME="lzw.sh"
AUTO_EXEC_RULE="25 9 * * * ${WORK_DIR}/${AUTO_EXEC_FILENAME}";
function registerTimer()
{
crontab -u root -l | grep -v "^#" > ${AUTO_EXEC_CONF_BAK} 2>&1
tag=`cat ${AUTO_EXEC_CONF_BAK} | grep -v "^#" | grep -ic "${AUTO_EXEC_FILENAME}"`
if [ ${tag} -ge 1 ];then
sed '/'${AUTO_EXEC_FILENAME}'/d' ${AUTO_EXEC_CONF_BAK} >${AUTO_EXEC_CONF}
else
cat ${AUTO_EXEC_CONF_BAK} > ${AUTO_EXEC_CONF}
fi;
echo "${AUTO_EXEC_RULE}" >>${AUTO_EXEC_CONF}
crontab -u root ${AUTO_EXEC_CONF} >> ${LOG_FILE} 2>&1
result=$?
if [ ${result} != 0 ]; then
echo "the run_lzw.sh exec error" >> ${LOG_FILE}
return 1;
fi;
/etc/init.d/cron restart >> ${LOG_FILE} 2>&1
}
function unRegisterTimer()
{
crontab -u root -l | grep -v "^#" > ${AUTO_EXEC_CONF_BAK} 2>&1
tag=`cat ${AUTO_EXEC_CONF_BAK} | grep -v "^#" | grep -ic "${AUTO_EXEC_FILENAME}"`
if [ ${tag} -ge 1 ];then
sed '/'${AUTO_EXEC_FILENAME}'/d' ${AUTO_EXEC_CONF_BAK} >${AUTO_EXEC_CONF}
else
cat ${AUTO_EXEC_CONF_BAK} > ${AUTO_EXEC_CONF}
fi;
crontab -u root ${AUTO_EXEC_CONF} >> ${LOG_FILE} 2>&1
result=$?
if [ ${result} != 0 ]; then
echo "the run_lzw.sh exec error" >> ${LOG_FILE}
return 1;
fi;
/etc/init.d/cron restart >> ${LOG_FILE} 2>&1
}
function main()
{
if [ "$1" = "-r" ];then
registerTimer
elif [ "$1" = "-u" ]; then
unRegisterTimer
else
echo "please input -r -u";
fi;
}
main $@
#!/bin/bash
LOG_FILE="/opt/pub/software/lzw/lzw.log"
function main()
{
ls /opt/pub/software/lzw >> ${LOG_FILE} 2>&1
}
main $@