要求在每个月的同一日期安排工作

时间:2014-09-15 19:25:16

标签: sql unix scheduling ksh teradata

我提供了一个Teradata脚本(.sql),其中几个代码位置为'mmyy','yyyymmdd',stamp_dt。要求是我想在每个月30日运行此脚本。我需要在UNIX中自动执行此过程。 为此,首先我需要在SQL脚本中多写几行以确保日​​期格式。该怎么办?

到目前为止,我已经在SQL程序的顶部添加了以下行。

#! /bin/ksh

# MONTH END DATE, IN FORMAT YYYY-MM-DD

END_DT=$1

ECHO END DATE IS $END_DT

TODAY1=$(date +%Y%m%d%H%M)

但是,我还有几个地方MMYY。在那种情况下该怎么办? 我如何每次添加一个月?在这里感到困惑!!

部分代码如下:

create multiset  table udxx.hh000_bank_loan_customer_?mmyy as (
sel acct_num, dept,
case when Total_Amt > 500000
then 'R'
else cus_ind
end as cus_lod
from 
hh000_bank_loan_customer a
left join (sel dept_id, type, number from bank_loan) as b
on a.id = b. dept_id
) with data 
primary index (ACCT_ID);
collect stats on udxx.hh000_bank_loan_customer_?mmyy  index(LOAN_ACCT_ID);

我如何修改上面的'mmyy'代码块,以便我以后每个月在unix的ksh脚本中安排。

我是否需要在sql程序中添加Addmonth?

2 个答案:

答案 0 :(得分:1)

我只用unix做这件事

day_of_month=$(date +%d)

if(( day_of_month == 10 ))
then
code goes here
fi

你打算做什么关于二月?

编辑从此处开始

关于在脚本中替换字符串的要求,你可以做这类事情。

$start_of_month="outside the scope of my answer"
sed "s/start_of_month/$start_of_month/g" original_script > script_for_this_month
script_for_this_month

答案 1 :(得分:-1)

unix / linux中的Cron是你可能正在寻找的东西。让系统担心安排脚本。

http://en.wikipedia.org/wiki/Cron

相关问题