shell腳本查詢數據庫
#!/bin/bash
HOSTNAME="數據庫IP"
PORT="端口"
USERNAME="用戶"
PASSWORD="密碼"
DBNAME="庫名"
select_sql="SELECT
DATE_FORMAT(t.orderdate,'%Y-%m-%d') as '日期',
t.store_name as '店鋪名稱',
t.store_id,
(case when t.channel='1' then '線下' else '線上' end) as '渠道',
t.type_name as '商品品類',
t.product_name as '商品',
t.brand as '品牌',
count(t.order_id) as '訂單數',
sum(t.units * t.price) as '訂單總金額'
FROM mk_mrp_order t
where DATE_FORMAT(t.orderdate,'%Y-%m-%d')=date_format(DATE_SUB(CURDATE(),INTERVAL 1 day),'%Y-%m-%d')
group by
DATE_FORMAT(t.orderdate,'%Y-%m-%d'),
t.store_id,
t.store_name,
t.channel,
t.type_id,
t.type_name,
t.product_id,
t.product_name,
t.brand
order by DATE_FORMAT(t.orderdate,'%Y-%m-%d') desc;"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${select_sql}"
#!/bin/sh
date=`date +%F`
source /root/scripts/prd09.sh > /root/scripts/test-$date.xls #調用上面的數據庫腳本,將查詢出的數據重定向到xls表
iconv -f UTF-8 -t GBK /root/scripts/test-$date.xls -o /root/scripts/$date.xls #將上面的xls表轉成GBK編碼
echo -e "Dear all:\n 附件為$date營銷數據,請查閱" | mailx -s "$date營銷數據" -a /root/scripts/$date.xls zouhong@biiby.com liutao@biiby.com # -e "Dear all:\n 附件為$date營銷數據,請查閱" 此段為:郵件內容 -e和-n為換行
mailx -s "$date營銷數據" #郵件標題
-a /root/scripts/$date.xls #附件為轉換編碼后的xls表
zouhong@biiby.com liutao@biiby.com #發送給外部需要查看數據的郵箱 此處需要將郵箱域名添加到白名單,可以先發送到qq郵箱或者騰訊企業郵箱,郵箱首頁有自助查詢,可看到攔截的郵件,直接添加到白名單即可
50 08 * * * runuser -c /root/scripts/2.sh system >/dev/null 2>&1 #每天早上8點50發送郵件 runuser -c 定時執行的腳本 system為指定發送郵件的賬戶為system
#!/bin/sh
date=`date +%F`
echo -e "Dear All:\n 以下為協議監控前10條數據,請查閱.\n `cat /home/zabbix/datadir/協議監控.${date}.txt`\n\n\n監控SQL語句如下:\nSELECT id FROM protocol.t_protocol WHERE STATUS IN(0,3) AND retry_times = 5 limit 10;"| mailx -s "[異常]協議監控" liutao@zhuifintech.com