shell实现半自动化导数

需求

有部分线下数据,需要不定时手动导入到数据库。事情会比较繁杂,花时间。

解决

这是一个重复的工作,有固定的流程。可以想办法用shell脚本来实现。
设计了如下过程的shell脚本:
1.将需要导入的数据表装换成csv格式,并放入制定的文件夹下。
2.脚本执行时,会首先将load.log这个存放导数日志的文件进行清空。
3.执行一个循环,读出指定文件夹下面的每个文件名。连接数据库,进行数据导入,并将数据导入的结果写入load.log文件。
4.循环执行结束后将该日志文件发送给相关人员邮箱。就可以监控这次的数据导入是否执行成功。方便查错。
5.将目录下文件全部删除。

#! /bin/bash
folder="/aaa/data"    #存放文件的目录
ture >Load.log        #清空日志文件
for file in ${folder}/*;    #循环获取文件名
do
        file_name=`basename $file`
        path=${folder}/$file_name
        (
        db2 connect to databasename user db2_user using mima
        db2 "load from $path of del MODIFIED BY codepage=1386 insert into TABLE(TIME,LID,ITEM_ID,ITEM_NAME,UNIT,AMOUNT,REMARK,SUGGESTION)" >>Load.log    #数据导入并将结果写进日志
        )
done
 mail -s "load"  [email protected]  < Load.log  #发送email
 rm -rf ${folder}/*

本来还希望实现,脚本的自动执行。试了crontab命令,但是还没有成功。
邮件配置参考:http://www.jianshu.com/p/0ef1eaad9870

你可能感兴趣的:(shell实现半自动化导数)