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!!!

posted @   陈灬大灬海  阅读(1975)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏