#!/bin/bash
# sh t_bank_return.sh 20210101 20210323
. ~/.bashrc
if [ $# == 1 ]; then
dateBegin=$1
dateEnd=$dateBegin
elif [ $# == 2 ]; then
dateBegin=$1
dateEnd=$2
else
echo "wrong number of parameters."
exit -1
fi
schema="fn"
tbname="t_bank_return"
# 格式化时间日期
dateBegin=`date +%Y%m%d -d"$dateBegin"`
dateEnd=`date +%Y%m%d -d"$dateEnd"`
echo ${dateBegin} ${dateEnd}
example="/home/work/datax/job/fn/example/${schema}_${tbname}_example"
tempdir="/home/work/datax/job/fn"
basepath=$(cd `dirname $0`; pwd)
cd $basepath
jsonfile="${tempdir}/${schema}_${tbname}"
if [[ "$dateBegin" > "$dateEnd" ]]; then
echo "FATAL: dateEnd must be greater than or equal to dateBegin. dateBegin: $dateBegin, dateEnd: $dateEnd"
exit -1
fi
while [[ "$dateBegin" < "$dateEnd" ]] || [[ "$dateBegin" == "$dateEnd" ]]; do
sed "s/DBDATE/${dateBegin}/g" ${example} > ${jsonfile}
echo "${jsonfile} done"
echo "~/datax/log/${schema}_${tbname}.log"
~/datax/bin/start_datax.sh /home/work/datax/job/${schema}/${schema}_${tbname} && bash /home/work/datax/sh-load/t_bank_return_load.sh ${schema} ${tbname} ${dateBegin}
echo "*** $dateBegin run done ***"
dateBegin=`date +%Y%m%d -d"+1 day $dateBegin"`
done
echo "while done"
echo "*****************************"
echo "*****************************"
#!/bin/bash
# /home/work/datax/sh-load/t_bank_return_load.sh
. ~/.bashrc
if [ $# -lt 3 ]
then
echo "./loaddata schema tablename dateBegin"
exit
fi
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
schema=$1
tablename=$2
dateBegin=$3
dateBegin=`date +%Y-%m-%d -d"$dateBegin"`
data_path=" /home/work/pay-datax-admin/ext/r_ext_${schema}_${tablename}_old.dat"
basepath=$(cd `dirname $0`; pwd)
cd ${basepath}
if [ ! -e ${data_path} ];then
echo "no exist filepath:${data_path}"
exit
fi
#DEL_SQL="delete from ${schema}.${tablename} where dt='${dateBegin}';"
LOAD_SQL="delete from ${schema}.${tablename} where dt='${dateBegin}';insert into ${schema}.${tablename} select * from pay_data_ext.r_ext_${schema}_${tablename}_old;"
#echo ${DEL_SQL}
echo ${LOAD_SQL}
tempfile="${basepath}/temp.log"
export PGPASSWORD=***
/usr/bin/psql -h *.*.*.* -p 5432 -d gp_pay -U pay_cloud_data -c "$LOAD_SQL" > ${tempfile} 2>&1
if [ $? -eq 0 ]
then
logmsg=`cat ${tempfile}`
echo "load to success ${tablename}:${logmsg}"
emailTitle="[云上][${schema}.${tablename}] load success"
emailContent=`echo "datax load to gppay success: ${schema}.${tablename}: ${logmsg}"`
else
logmsg=`cat ${tempfile}`
msg=`echo "datax load to gppay failed:${tablename}:${logmsg}"`
emailTitle="[云上][${schema}.${tablename}] load failed"
emailContent=`echo "datax load to gppay failed: ${schema}.${tablename}: ${logmsg}"`
fi
echo ${emailContent} | mail -s "${emailTitle}" daiyuanpei@xxx.com
#!/bin/bash
# ~/datax/bin/start_datax.sh
. ~/.bashrc
echo $#
if [ $# -lt 1 ]
then
echo "need job config file"
exit
fi
jobname="$1"
taskname=`echo $(basename $jobname .xml)`
echo "$jobname,taskname=$taskname"
DATAX_HOME=/home/work/datax
timenow=` date +'%H%M%S'`
cd $DATAX_HOME
outputfile="${DATAX_HOME}/log/${taskname}.log"
errorfile="${DATAX_HOME}/log/${taskname}.error"
rm ${outputfile} -f
python ${DATAX_HOME}/bin/datax.py ${jobname} >> ${outputfile} 2>${errorfile}
if [ $? -eq 0 ]
then
tail -n32 ${outputfile}
exit 0
else
tail -n32 ${outputfile}
exit 102
fi
tail -n32 ${outputfile}
exit 103