前言:
而今小伙伴们对“mysql查询结果输出到文件”大致比较注意,咱们都需要剖析一些“mysql查询结果输出到文件”的相关文章。那么小编也在网摘上收集了一些有关“mysql查询结果输出到文件””的相关知识,希望小伙伴们能喜欢,同学们一起来学习一下吧!1、安装mysql
yum -y install mariadb-server
systemctl start mariadb
systemctl status mariadb
mysql -u root -p
# 配置root密码
use mysql;
UPDATE user SET password=password('abc123') WHERE user='root';
SET password for 'root'@'localhost'=password('abc123');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abc123' WITH GRANT OPTION;
# 创建数据库表
create database check_result;
#这里注意主键的大小,跟你的数据长度挂勾。安实际情况填写
CREATE TABLE `check_result`(
`date` timestamp,
`time` time,
`cpu_usage` varchar(255),
`memory_usage` varchar(255),
`disk_usage` varchar(255),
`network_status` varchar(255)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、安装sendmail
yum -y install sendmail mailx
vim /etc/mail.rc
set from=xxx@163.com
set smtp=smtp.163.com
set smtp-auth-user=xxx@163.com
set smtp-auth-password=xxx
set smtp-auth=login
3、shell脚本
cat check_system.sh
#!/bin/bash
# 巡检项
check_list=(
"cpu"
"memory"
"disk"
"network"
)
# 巡检日期和时间
date=$(date "+%Y-%m-%d")
time=$(date "+%H:%M:%S")
# 输出文件路径
output_file="/tmp/output_file_${date}.txt"
# MySQL 配置
mysql_host="localhost"
mysql_user="root"
mysql_password="abc123"
mysql_database="check_system"
# 邮件配置
mail_from="xxx@163.com"
mail_to="xxx@qq.com"
mail_subject="Linux 巡检报告 ${date} ${time}"
mail_body="请查看附件"
# 巡检 CPU 使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
# 巡检内存使用情况
memory_usage=$(free | awk '/Mem/{printf("%.2f%"), $3/$2*100}')
# 巡检磁盘空间使用情况
disk_usage=$(df -h / | awk '/\//{print $(NF-1)}')
# 巡检网络连接情况
network_status=$(ping -c 1 > /dev/null && echo "连接正常" || echo "连接失败")
# 将巡检结果输出到文件
echo "巡检日期:${date} 巡检时间:${time}" > ${output_file}
echo "CPU 使用率:${cpu_usage}%" >> ${output_file}
echo "内存使用率:${memory_usage}" >> ${output_file}
echo "磁盘空间使用情况:${disk_usage}" >> ${output_file}
echo "网络连接情况:${network_status}" >> ${output_file}
# 将巡检结果存储到MySQL数据库
mysql -h${mysql_host} -u${mysql_user} -p${mysql_password} ${mysql_database} \
-e "INSERT INTO check_result (date, time, cpu_usage, memory_usage, disk_usage, network_status) VALUES ('${date}', '${time}', '${cpu_usage}', '${memory_usage}', '${disk_usage}', '${network_status}')"
# 发送邮件提醒
echo ${mail_body} | mail -s "${mail_subject}" -a ${output_file} ${mail_to}
你可以根据实际情况修改上述脚本中的配置信息,然后将其保存为一个 shell 脚本文件,例如 `check_system.sh`,然后在 Linux 系统中运行该脚本进行巡检。可以通过设置定时任务,定期执行该脚本。例如,可以在 crontab 中添加以下定时任务:
0 0 * * * /bin/bash /opt/check_system.sh
标签: #mysql查询结果输出到文件