shellmysql输出到⽂件_shell脚本定时查询数据库的结果输出
⾄⽂件
1. linux定时任务的配置请⾃⾏学习。
2. 如果数据库不在本机服务器,需要安装sqlplus客户端,请查看笔者的另外⼀篇⽂章学习sqlplus的安装。
3. 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 输出列间空格数设置
shell脚本返回执行结果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/
@$SQLPLUS_HOME/job/sql.sql
spool off
quit;
EOF
4. 将上述脚本复制进data.sh⽂件,然后执⾏sh -x data.sh命令,即可得到想要的结果,注意sql.sql⽂件要⾃⼰根据需求写sql语句。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。