因为要修改导入程序,发现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。
写完了才想到这个好处是多么的微不足道,只是一个方法而已,毕竟修改定时任务也很简单。
Linux系统下的定时任务Crontab:http://www.linuxdiyf.com/linux/8249.html
Linux下实现秒级定时任务的两种方案(Crontab每秒运行):http://www.linuxdiyf.com/linux/5623.html
PHP定时任务实现和Linux crontab定时任务:http://www.linuxdiyf.com/linux/4722.html
Linux下定时任务和例行任务:http://www.linuxdiyf.com/linux/4571.html
Linux定时任务系统Cron入门:http://www.linuxdiyf.com/linux/232.html