加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

通过shell导出数据库查询结果到excel中,并通过邮件发送到邮箱

发布时间:2020-12-15 19:13:40 所属栏目:安全 来源:网络整理
导读:通过shell导出数据库查询结果到excel中,并通过邮件发送到邮箱#!/bin/bash#通过shell查询数据信息并保存在excel中,并记录日志#Data:2018-06-14#Name:Zhang#数据库连接地址DBServer='192.168.1.1'#数据库用户名DBUserName='zhang'#数据库密码DBPasswd='zhang
通过shell导出数据库查询结果到excel中,并通过邮件发送到邮箱
#!/bin/bash
#通过shell查询数据信息并保存在excel中,并记录日志
#Data:2018-06-14
#Name:Zhang

#数据库连接地址
DBServer='192.168.1.1'
#数据库用户名
DBUserName='zhang'
#数据库密码
DBPasswd='zhang'
###########################################################
#选择数据库
Use_Cmd="usezhang"
#查询数据库信息Sql语
Select_Cmd="SELECT*FROMSTUDENTS;"
###########################################################
#后台支付信息保存路径
Payment_DataDir='/opt/select_back'
#日志保存路径
LogDir=/opt/select_back/logs
#数据导出时间
backtime=`date+%Y%m%d%H%M`
#保存文件名称
DataName="支付订单信息"
###########################################################
#邮件收件人
#Email_receiver_people="zhang@163.com"
#邮件主题
#Email_Subject="详细信息$backtime"
##########################################################
MKDIR='/bin/mkdir'
#########################################################

echo"##################判断备份路径#############################"
test!-d$Payment_DataDir&&$MKDIR-p$Payment_DataDir
test!-w$Payment_DataDir&&echo"Error:$Payment_DataDirisun-writeable."&&exit0
test!-d$LogDir&&$MKDIR-p$LogDir
test!-w$LogDir&&echo"Error:$LogDirisun-writeable."&&exit0

echo"######################备份开始#############################"
echo"">>$LogDir/$DataName.log
echo-e"33[44;32m-------------------------分割线-----------------------33[0mn">>$LogDir/$DataName.log
echo"导出时间为$backtime,导出${DataName}文件开始">>$LogDir/$DataName.log
/usr/local/mysql/bin/mysql-u$DBUserName-h$DBServer-p$DBPasswd-e"$Use_Cmd;$Select_Cmd">$Payment_DataDir/$DataName-$backtime.xls
#sed-i's/^/`&/g'$Payment_DataDir/$DataName-$backtime.xls
#使用iconv转换编码格式,把linux的utf8转换成windows的gbk
iconv-f"utf-8"-t"gbk"$Payment_DataDir/$DataName-$backtime.xls>$Payment_DataDir/Orders.xls
#因第一列数据超过18位,excel中使用了科学计数法,所以把第一列加了“`”转换成文本格式
sed-i's/^/`&/g'$Payment_DataDir/Orders.xls
if["$?"==0];then
#把导出结果通过邮件脚本,发送到邮箱
	/opt/py3/bin/python3/opt/select_back/select_mail.py
	echo"导出时间为$backtime,导出$DataName文件结束!!!">>$LogDir/$DataName.log
	echo"Mysql-$DataName数据导出成功!!!">>$LogDir/$DataName.log
else
	echo"导出时间为$backtime,导出$DataName文件结束!!!">>$LogDir/$DataName.log
	echo"Mysql-$DataName数据导失败!!!">>$LogDir/$DataName.log
fi

echo"######################导出数据结束,时间为:$backtime#####"

注:如以上有错误或者有不足的地方请指正

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读