Linux定时任务中用脚本代替可执行程序的一个好处


因为要修改导入程序,发现Linux定时任务中用脚本代替可执行程序的一个好处。

Linux服务器中有个定时执行的任务,将下载的数据导入数据库,这样的任务一般都是凌晨启动。因为数据结构变化或者优化程序,就需要修改导入程序,而导入程序因为执行时间长,白天往往都在执行中,不能覆盖,只能用另一个名称保存,要想定时任务第二天启动时使用新的程序,就必须修改定时任务中的程序名。

如果定时任务中用的是脚本,在脚本中执行导入程序,则只要修改脚本中的可执行程序名就可以了,因为脚本是可以覆盖的,不影响原来执行的脚本,避免了修改定时任务的麻烦。脚本qtimp.sh:

#
#ftp get EMS data from downcenter server 10.3.10.40
#
#eidt by iamlaosong 20130205
#

DATDIR=`date -d '-1 day' +%Y%m%d`
cd /home/Oracle/bin/sdptqt
# the code of provinces
for PCODE in 11 12 13 14 15 21 22 23 31 32 33 35 36 37 41 42 43 44 45 46 50 51 5
2 53 54 61 62 63 64 65
do

FNAME=03004_${PCODE}_${DATDIR}.dat
echo ${FNAME}
./sdpt_qt1 ${DATDIR} 03004 ${PCODE}
FNAME=03005_${PCODE}_${DATDIR}.dat
echo ${FNAME}
./sdpt_qt1 ${DATDIR} 03005 ${PCODE}

done

其中sdpt_qt1就是新的程序,原来是sdpt_qt。
写完了才想到这个好处是多么的微不足道,只是一个方法而已,毕竟修改定时任务也很简单。

本文永久更新链接地址

相关内容