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

作者:iamlaosong

因为要修改导入程序,发现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。

写完了才想到这个好处是多么的微不足道,只是一个方法而已,毕竟修改定时任务也很简单。

时间: 2024-08-11 19:24:48

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

linux定时任务crond生产Java服务手动可执行,脚本不可执行案例

linux定时任务crond export变量问题群友案例 来自网友兄弟 北京@Grady(254553457) 的总结. 1)我写了一个重启resin的脚本,由于业务原因,需要定时在某一个时间重启下resin服务器,于是就在crontab里配置了如下内容:50 17 * * 1-5 root /usr/local/bin/resin_restart.sh其中,resin_restart.sh内容如下:#!/bin/sh/usr/local/bin/xxresin_stop.sh/usr/loc

一个纠结的Linux定时任务

昨天写了一个Linux定时任务,搞了半天才是搞好,现在分享下我犯得错误 首先在Linux根目录下创建一个目录 mkdir cat_crazy 进去创建一个shell脚本test.sh,内容是: #!/bin/sh echo "这是一个定时任务" >> usrs 这个脚本是可以运行的,测试过 然后写个定时任务每分钟执行一次 定时任务是这样写的 */1 * * * * /cat_crzay/test.sh 然后,我一直查看cat_crazy下的那个usrs,一直没有看到追加的信

把linux可执行程序做成一个服务

在linux系统启动的时候,我们可以看到很多服务性程序一个接一个的被启动(就是那些后面有一个兰色[OK]的行),这些在后台运行的程序为我们使用计算机起了很重要的作用,以这种方式运行的程序有以下特点: 开机启动.关机停止.后台运行 通过service 命令控制或查看对应的程序的运行状态 恩,不错,那怎么把我们自己编制的程序做成这样的一个服务呢? 废话少说,主要分以下3步:     1.把可执行程序放到一个linux系统可以找到的地方. 在linux命令提示符下输入env ,回车后可看到环境变量,里

Linux脚本——使用echo从一个文件写入另一个文件末尾

echo $(cat 你需要的文件) >> ./目的文件 使用cat获取你想要的文件内容,然后使用echo写入.问题在于cat获取的\n可能失效.如果单纯的作为ACM输入测试数据使用,还是有些价值的.--当然也可以直接生成:Python生成测试数据 $?用于返回上一个程序的执行结果: diff file file2用于判断两个文件是否相同--如果相同,返回0.可以用上一个命令查看. echo和cat的简单区别: 1. 想看一个文件的内容是什么,可以用cat,比如 cat /etc/reslov

Linux下shell脚本中信号捕获和函数练习脚本之ping一个网段

该脚本主要的目的是练习在Linux bash脚本中捕获信号,顺便练习一下函数的使用,还有就是终止一个正在运行的程序后,该程序打开的文件的后续处理问题等等! 脚本功能: ping一个网段内的IP,检测哪些IP在线,哪些IP不在线 练习的命令: 1.mktemp 用法:#mktemp 1117.www.qixoo.qixoo.com/Path/To/SomeFile.XXX 其中XXX可以为多个,是由系统随机生成的一段字符串 -d  创建为目录 2.ping 测试网络是否通畅 用法:#ping [-

Linux shell脚本中调用另一个shell(exec、source、fork)

  在运行shell脚本时候,有三种方式来调用外部的脚本,exec(exec script.sh).source(source script.sh).fork(./script.sh) exec(exec /home/script.sh): 使用exec来调用脚本相当于在当前shell执行了一条命令,不会产生新的进程,被执行的脚本会继承当前shell的环境变量.但是当exec调用完毕后,当前shell也会结束,剩下的代码不会执行. source(source /home/script.sh) 使

linux 定时任务 crond 服务应用指南

linux定时任务crond服务应用指南 Linux的定时任务crond(crontab)服务 1.crond是什么? crond是linux系统中用来定期执行命令或者指定程序的程序(软件) 2.秒级任务 (1)crond需要方式实现 (2)自己写守护进程shell循环 (3)Quartz也可实现妙计任务 3.定时任务的作用 服务器:7*24小时开机提供服务是网站的基本特征 有重要数据:提高备份周期和备份数量 Linux的定时任务分类 linux系统中定时任务调度的工作可以分为一下两种 (1)系

linux定时任务crond那些事!

来自老男孩教育的运维班面授课程内容,17期依良同学作业整理而得! 1.定时任务crond介绍 1.1 crond是什么 crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件. 特殊需求:(秒级别)crond服务就无法搞定了,一般工作中写脚本守护进程执行. 1.2 为什么要使用crond定时任务 linux系统的定时任务crond,相当于我们平时生活中的闹钟的功能.可以满足周期性执行任务的需求. 1.3 不同系统的定时任务和种类 1.3.1 windows 7 系统的定时任务

如何让linux定时任务crontab按秒执行

如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟 如果想以秒为单位执行,应该如何设置呢? 思路 正常情况是在crontab中直接定义要执行的任务,现在我们在中间添加一个脚本文件 自定义一个脚本文件,循环执行要执行的任务,循环中使用sleep来控制间隔秒数 在crontab中添加一个任务,设置为每分钟都执行这个脚本 就是用crontab控制分钟,用脚本内的循环来控制秒 示例 (1) 定义目标任务 用php写了一个测试任务,向文件中写一个时间信