定时备份文件AND邮件发送
2014-10-23 11:10
357 查看
定时备份数据库某个表中的部分数据并将该文件通过邮件发送出去
备份数据库表(mysqldump)
语法:
mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径
例子:
从zabbix数据库的history表中导出value>10 的数据到 /home/zabbix/history.sql 这个文件中
mysqldump -uzabbix -pzabbix -hlocalhost zabbix history where="value>10">/home/zabbix/history.sql
或者保存成txt文件
mysqldump uzabbix pzabbix hlocalhost zabbix history where="value>10">/home/zabbix/history.txt
备份某一列或某几列
语法:
mysql -u用户名 -p密码 -e "SELECT 列名,列名 INTO OUTFILE '/tmp/backup.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM zabbix.history"
相关命令
FIELDS TERMINATED BY ',' 列分隔符:,
OPTIONALLY ENCLOSED BY '"' 数据用双引号引用
LINES TERMINATED BY '\n' 行分隔符
例子:
mysql -uzabbix -pzabbix -e "SELECT value INTO OUTFILE '/tmp/backup.txt' FROM zabbix.history"
由此数据备份已经完成
将该文件通过邮件发送
确保已经安装mail或者Postfix邮件服务
Mail发送邮件格式
echo "mail conten" | mail -s test test@126.com
发送附件我用mail一直没有发送成功,由此用的mutt发送附件
yum -y install mutt
测试发送邮件,并添加附件
echo "123" | mutt test@126.com -s "456" -a /tmp/backup.txt
发送成功
Mutt语法格式
echo "" 内容
-s 主题
-a 附件,多个附加要使用多个-a
修改发件人信息,伪造发件人信息
Vi ~/.muttrc
[root@node3 ~]# cat ~/.muttrc
set envelope_from=yes
set use_from=yes
set from="MySQL@mail.com"
set realname="MySQL"
再次发送,成功~
脚本如下
#!/bin/bash
#Description:Backup part of the database and send mail to leaders;
#Author:MiaoYongbin
#Date:2014-10-23
#Version:1.0
#Mail:test@126.com
MYSQL_USER=zabbix
MYSQL_PASSWORD=zabbix
MYSQL_HOST=localhost
DATABASE=zabbix
TABLE=history
BACKROW=value
MYSQL=$(which mysql)
BACKDIR=/tmp
DATE=`date +%F_%T`
MUTT=$(which mutt)
$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -e "SELECT $BACKROW INTO OUTFILE '$BACKDIR/backup_$DATE.txt' FROM $DATABASE.$TABLE"
Title=backup_`date +%F_%T`
Contents="This is backup of part of database."
MAIL=test@126.com
echo "$Contents" | $MUTT $MAIL -s "$Title" -a $BACKDIR/backup_$DATE.txt
本文出自 “Linux步行街” 博客,请务必保留此出处http://mybsir.blog.51cto.com/4618614/1567106
备份数据库表(mysqldump)
语法:
mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径
例子:
从zabbix数据库的history表中导出value>10 的数据到 /home/zabbix/history.sql 这个文件中
mysqldump -uzabbix -pzabbix -hlocalhost zabbix history where="value>10">/home/zabbix/history.sql
或者保存成txt文件
mysqldump uzabbix pzabbix hlocalhost zabbix history where="value>10">/home/zabbix/history.txt
备份某一列或某几列
语法:
mysql -u用户名 -p密码 -e "SELECT 列名,列名 INTO OUTFILE '/tmp/backup.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM zabbix.history"
相关命令
FIELDS TERMINATED BY ',' 列分隔符:,
OPTIONALLY ENCLOSED BY '"' 数据用双引号引用
LINES TERMINATED BY '\n' 行分隔符
例子:
mysql -uzabbix -pzabbix -e "SELECT value INTO OUTFILE '/tmp/backup.txt' FROM zabbix.history"
由此数据备份已经完成
将该文件通过邮件发送
确保已经安装mail或者Postfix邮件服务
Mail发送邮件格式
echo "mail conten" | mail -s test test@126.com
发送附件我用mail一直没有发送成功,由此用的mutt发送附件
yum -y install mutt
测试发送邮件,并添加附件
echo "123" | mutt test@126.com -s "456" -a /tmp/backup.txt
发送成功
Mutt语法格式
echo "" 内容
-s 主题
-a 附件,多个附加要使用多个-a
修改发件人信息,伪造发件人信息
Vi ~/.muttrc
[root@node3 ~]# cat ~/.muttrc
set envelope_from=yes
set use_from=yes
set from="MySQL@mail.com"
set realname="MySQL"
再次发送,成功~
脚本如下
#!/bin/bash
#Description:Backup part of the database and send mail to leaders;
#Author:MiaoYongbin
#Date:2014-10-23
#Version:1.0
#Mail:test@126.com
MYSQL_USER=zabbix
MYSQL_PASSWORD=zabbix
MYSQL_HOST=localhost
DATABASE=zabbix
TABLE=history
BACKROW=value
MYSQL=$(which mysql)
BACKDIR=/tmp
DATE=`date +%F_%T`
MUTT=$(which mutt)
$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -e "SELECT $BACKROW INTO OUTFILE '$BACKDIR/backup_$DATE.txt' FROM $DATABASE.$TABLE"
Title=backup_`date +%F_%T`
Contents="This is backup of part of database."
MAIL=test@126.com
echo "$Contents" | $MUTT $MAIL -s "$Title" -a $BACKDIR/backup_$DATE.txt
本文出自 “Linux步行街” 博客,请务必保留此出处http://mybsir.blog.51cto.com/4618614/1567106
相关文章推荐
- Quartz定时邮件发送多个备份文件 - 黑壳网
- Quartz 定时邮件发送多个备份文件
- window 定时备份mysql并发送邮件
- Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
- 3个备份系统文件并邮件发送的Shell脚本分享
- 使用Navicat定时备份mysql数据库和创建报表并邮件自动发送 推荐
- Python实现定时备份mysql数据库并把备份数据库邮件发送
- 关于nodejs的几个干货(读中文文件编码问题/发送邮件/定时任务)
- 一个python的邮件发送脚本,自动,定时,可以附件发送,抄送,附有说明文件
- 使用Python发送邮件附件以定时备份MySQL的教程
- Python实现定时备份mysql数据库并把备份数据库邮件发送
- 一个python的邮件发送脚本,自动,定时,可以附件发送,抄送,附有说明文件 (本脚本是python的2.7.x环境下可用)
- Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
- SqlServer 2008 R2定时备份数据库,并且发送邮件通知
- Python +crontab定时备份目录发送邮件
- 3个备份系统文件并邮件发送的Shell脚本分享
- ubuntu数据自动备份,定时发送邮件到备份邮箱
- SqlServer 2008 R2定时备份数据库,并且发送邮件通知
- 一个python的邮件发送脚本,自动,定时,可以附件发送,抄送,附有说明文件