定时备份文件AND邮件发送

定时备份数据库某个表中的部分数据并将该文件通过邮件发送出去

备份数据库表(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 [email protected]

发送附件我用mail一直没有发送成功,由此用的mutt发送附件

yum -y install mutt

测试发送邮件,并添加附件

echo "123" | mutt [email protected] -s "456" -a /tmp/backup.txt

发送成功

Mutt语法格式

echo ""  内容

-s  主题

-a 附件,多个附加要使用多个-a

修改发件人信息,伪造发件人信息

Vi ~/.muttrc

[[email protected] ~]# cat ~/.muttrc

set envelope_from=yes

set use_from=yes

set from="[email protected]"

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:[email protected]

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."

[email protected]

echo "$Contents" | $MUTT $MAIL -s "$Title" -a $BACKDIR/backup_$DATE.txt

时间: 2024-10-07 12:23:48

定时备份文件AND邮件发送的相关文章

7.4 异步、定时和邮件发送任务

一.任务分类 异步任务 定时任务 邮件发送任务 二.异步任务 1.主要两个步骤 在异步方法上加上注解@Async 在springBoot的类中开启注解@EnableAsync 2.编写异步程序 原文地址:https://www.cnblogs.com/zhihaospace/p/12432270.html

屏幕监视专家 v1.0 定时录制屏幕动画发送到指定邮箱

ScreenWatcher v1.0功能:定时录制屏幕动画发送到指定邮箱,录制的动画为gif,可指定录制多长时间.指定几点直接开始录制,完全后台运行.作者:Bluefish 下载链接: http://pan.baidu.com/s/1kVpm4ib 密码: f3qu 使用说明: ①运行目录内的“设置.bat”,或者命令行下执行 ScreenWatcher.exe -set 可进入设置,如果直接运行则开始后台工作.   建议设置好参数,测试录像成功收到邮件以后再复制到目标电脑上运行. ②发信邮箱只

Java经验杂谈(1.记PostFix邮件发送性能与有效发送问题)

业务需求: 需要定期给注册会员发送广告,问卷等邮件,每天需要完成百万级的邮件发送. 服务器:若干台postfix服务器 遇到问题:对于每天百万级的邮件发送任务,postfix服务器很容易完成,Java客户端包含发送时的业务逻辑处理时间,多起几个线程也很容易做到.但是,如果发送速度过快,会被邮件服务商列入黑名单而拒收邮件,而每个邮件服务商对接收邮件的速度要求又不一样. 解决方法:这样,需要针对每个邮件批量发送任务,按照每个邮件服务商能接收的速度来发送邮件.比如,163每秒3封,sina每秒4封等.

基于javaMail的邮件发送--excel作为附件

基于JavaMail的Java邮件发送 Author [email protected] Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用户发送邮件,然后我就简单学习了SMTP. 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP.其中邮件的创建和发送只需要用到 SMTP协议,所以本文也只会涉及到SMTP协议.SMTP 是 Simple Mail Transfer Protocol 的简称,即简单邮件

IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 (一)

邮件发送功能总结        第一部分 背景 一.使用场景 (1)注册验证 注册各大网站,通常需要输入邮件地址,在注册成功后,会发送一封邮箱验证的邮件,点击确认,证明这个邮箱是用户自己的 (2)网站营销 公司运营做活动的时候,提前几天给用户发邮件,提醒老用户在活动时间参加活动. (3)安全的最后一道防线 一个网站好久不用的时候,会忘记密码,这个时候需要找回密码,很多种找回方式,最常用的找回方式就是通过邮箱找回密码. 首先,在网站输入邮箱,系统会根据注册的邮箱发送一封邮件,根据邮件中的地址,可以

学习笔记之邮件发送篇

用脚本语言发送邮件是系统管理员必备技能 对系统定期检查或者当服务器受到攻击时生成文档和报表. 发布这些文档最快速有效的方法就是发送邮件. python中email模块使得处理邮件变得比较简单 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 本段摘录于    http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html 1.smtplib模块 smtplib.SMTP([host[, p

java-基于JavaMail的Java邮件发送

1.基于JavaMail的Java邮件发送:简单邮件发送 2.基于JavaMail的Java邮件发送:复杂邮件发送

更改邮件发送语言为英语,解决编码为UTF8邮箱注册账号,邮件内容乱码问题

Change email English language, code for UTF8 mailbox registered account, email content garbled. 1. code analysis 乱码分析 通过对中文编码的邮件服务器使用原来的系统(GB2312) The original system used by the mail server encoding for the Chinese code (GB2312) 我使用outlook.com的邮箱(UT

redmine邮件发送功能配置详解

redmine的邮件发送功能还是很有用的. 像项目有更新啦,任务分配啦,都能邮件发送的相关责任人. 我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了. 查了网上的资料,都是讲修改下配置文件就可以了,他们没错,只是没有讲全. 下面是我整理的一个redmine邮件发送功能设置的一个完整流程. 1. sendmail安装与检查 linux机器上安装的redmine要能发送邮件,先得是本机的sendmail功能是正常的. 查看sendmail进程是否已正常启动: $ ps au