LINUX定时执行shell脚本
来源:互联网 发布:小学语文教学视频软件 编辑:程序博客网 时间:2024/05/17 00:08
需求简述:每天有一个文件要执行入库操作,数据量10万左右。不想java代码写,太繁琐,所以试着用linux的crontab的调度进程。
1、linux系统未安装sqlldr命令,首先需要装下,配置环境变量(echo $ORACLE_HOME查看)
2、linux下的普通用户可能没有crontab的操作权限,没有需赋下权限
3、编写sh脚本:
#!/bin/bashexport ORACLE_HOME=/opt/app/ora11g/product/11.2.0PATH=$ORACLE_HOME/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jboss5deploy/bin:/opt/app/ora11g/product/11.2.0/binexport PATHthefiledate=`date -d last-day +%Y%m%d`filename=GDSEtermFlow_$thefiledate.csv`sed -i 's///g' '/opt/applog/gdsftpdata/'$filename` cat > data_load.ctl << FILEEOFOPTIONS (SKIP=1)load dataCHARACTERSET ZHS16GBKinfile '/opt/applog/gdsftpdata/$filename'append into table datalife.ETERM_FTP_DATAFields terminated by ","TRAILING NULLCOLS(USERNAME,USERIP,REASON,LOGINDATE timestamp "yyyy-mm-dd hh24:mi:ss",LOGOUTDATE timestamp "yyyy-mm-dd hh24:mi:ss",HOST_TXPACKET,HOST_RXPACKET,ITINERARY_TXPACKET,ITINERARY_RXPACKET,DATADATE "to_date('$thefiledate','yyyy-mm-dd')")FILEEOF$ORACLE_HOME/bin/sqlldr datalife/datalife1234@all10gt1 /opt/applog/gdsftpdata/data_load.ctl rows=10000 readsize=20971520 bindsize=20971520
export ORACLE_HOME因为sh不识别linux配置的环境变量,所以需要在sh重写下环境变量
4、crontab -e 50 10 * * * /apps/bin/cleanup.sh 添加调度作业
一切完成~
0 0
- linux 定时执行shell脚本
- linux 定时执行shell脚本
- linux 定时执行shell脚本
- linux 定时执行shell脚本
- linux 定时执行shell脚本
- linux 定时执行shell脚本
- linux定时执行shell脚本
- LINUX定时执行shell脚本
- linux 定时执行shell脚本
- linux 定时执行shell 脚本
- linux 定时执行shell脚本 定时任务
- linux 定时执行shell脚本详解
- linux 定时执行shell脚本 crontab
- Crontab 让linux定时执行shell脚本
- linux定时执行shell脚本文件
- Linux利用crontab定时执行shell脚本
- Linux下shell脚本定时执行
- Linux 执行定时任务 shell脚本
- ,遇到某个类中有很多相似的方法,区别只是后缀不同,可以通过这个方法,实现拼接方法名而调用方法
- iOS逆序
- 用Maven插件生成Mybatis代码
- 浅谈Java异常
- AppServ中配置问题
- LINUX定时执行shell脚本
- Android:屏幕适配
- 2016年计划
- install openstack liberty in ubuntu 14.04 server
- Java 对象拷贝
- UISwitch的默认宽高51*31,UITabBarController的默认高度是49
- 《iOS Human Interface Guidelines》——Multitasking
- 分析京东“搜索京东商品/店铺”布局(一)
- Cocos在windows7下的配置与apk打包