1. linux定时任务的配置请自行学习。linux
2. 若是数据库不在本机服务器,须要安装sqlplus客户端,请查看笔者的另一篇文章学习sqlplus的安装。sql
3. shell脚本查询数据库结果输出至文件:shell
$SQLPLUS_HOME/sqlplus username/password@//host:port/sid<< EOF ------------------------------------------------------------------------------ --set echo on/off 是否显示脚本中的须要执行的命令 --set feedback on/off 是否显示 select 结果以后返回多少行的提示 --set linesize n 设置一行最多显示多少字符,以前就是由于 n 设得过大,致使行与行之间有空白行 --set termout on/off 在执行脚本时是否在屏幕上输出结果,若是 spool 到文件能够将其关闭 --set heading on/off 是否显示查询结果的列名,若是设置为 off,将用空白行代替 --set pagesize n 设置每页的行数,将 n 设为 0 能够不显示全部headings, page breaks, titles, the initial blank line, and other formatting information --set trimspool on/off 在 spool 到文件时是否去除输出结果中行末尾的空白行或者空白字符 --set trimout on/off 在屏幕输出时是否去掉行末尾的空白 --set trimout on/off 是否去掉屏幕上输出结果行末尾的空白字符 --set space n 输出列间空格数设置 set echo off set feedback off set linesize 32767 set termout off set heading on set pagesize 50000 set trimpool on set space 2 spool $SQLPLUS_HOME/job/result.txt @$SQLPLUS_HOME/job/sql.sql spool off quit; EOF
4. 将上述脚本复制进data.sh文件,而后执行sh -x data.sh命令,便可获得想要的结果,注意sql.sql文件要本身根据需求写sql语句。数据库