shell腳本導出mysql數據


如何實時查看數據信息呢,方式多的去了,但是還是腳本最為方便。

腳本導出到文件中demo示例

新建export.sh

#!/bin/bash
# 用戶名
MYSQL_USER=root
# 密碼
MYSQL_PWD=123456
# 庫名
MYSQL_NAME=center
# 主機
MYSQL_HOST=172.0.0.1
# 端口號
MYSQL_PORT=3306

mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME} << EOF > $2
set character_set_client = utf8;     
set character_set_results = utf8;    
set character_set_connection = utf8; 
$1
EOF

執行腳本

$! $2 就是命令后面加的參數
sh export.sh 'select id,name from sport;' './export.txt'

搭配釘釘報警

釘釘機器人文檔

https://developers.dingtalk.com/document/app/custom-robot-access

新建dingding.sh

#!/bin/bash
MYSQL_USER=root
MYSQL_PWD=123456
MYSQL_NAME=center
MYSQL_HOST=172.0.0.1
MYSQL_PORT=3306

SQL_DATA=`mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME} << EOF
set character_set_client = utf8;     
set character_set_results = utf8;    
set character_set_connection = utf8;
select id,name from sport;
EOF`

echo $SQL_DATA

DATA="$(date +'%Y-%m-%d %T') 
$SQL_DATA"

MSG='{"msgtype": "text", 
        "text": {
             "content": "hello world chy

'$DATA'"
        }
      }'
echo $MSG

curl 'https://oapi.dingtalk.com/robot/send?access_token=abc' \
   -H 'Content-Type: application/json' \
   -d "$MSG

配合linux的定時任務

crontab -e編輯新增(linux最小單位是分鍾,如下表示1分鍾執行一次)
*/1 * * * * sh /usr/local/shell/dingding.sh

perfect!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM