日常工作中公司其他人员可能经常需要找运维拿公网的数据做EXCEL,对于那些定期的不变的需求我们可以通过写shell脚本配合定时任务,定时发送到对应的邮箱,减少重复劳动,提高工作效率。
#!/bin/bash
DATE=`date '+%Y%m%d '`
#邮件接收人
MAIL=test@qq,com
#邮件抄送
CC=test@qq.com
XLS1=/tmp/测试tmp.xls
XLS2=/tmp/测试.xls
MSG=请查收附件
DB_HOST=localhost
DB_USER=root
DB_PASSWD=123456
DB_PORT=3306
DB=test
MYSQL=/usr/bin/mysql
SQL=test.sql
$MYSQL -u$DB_USER -p$DB_PASSWD -h$DB_HOST $DB < $SQL > $XLS1
#转换为UTF-8编码,不然附件内容会乱码
iconv -futf8 -tgb2312 -o$XLS2 $XLS1
echo $MSG | mail -s "${DATE}" -a $XLS2 -c $CC $MAIL
rm -rf $XLS1 $XLS2