自动备份数据库并发送附件至邮箱

本贴最后更新于 2449 天前,其中的信息可能已经时移俗易

38580ced88c34c2dbd80adeb449200b3-db.jpg

数据库中数据对一个企业的重要性不用多说. 我公司在数据安全方面的一些做法,以达到抛砖引玉的目的.

1、定期数据备份和更新

定期进行数据备份,可以在数据发生意外损失的情况下进行灾难恢复,最大限度地避免损失。并且还要实时通过网络传送到备份系统,备份系统则根据日志对磁盘进行更新。

2、异地备份

远程数据库备份:就是在与主数据库所在生产机相分离的备份机上建立主数据库的一个拷贝。再次,对于异地数据容灾,数据备份不仅仅要求在异地有一份数据拷贝,同时必须保证异地数据的完整性、可用性.

3、建立故障切换机制

公司使用 drbd 等磁盘级别的实时备份, 主从库数据保持一致, 当主服务器宕机, 从服务器可以接管资源, 继续对外服务.

下面的笔记就是对数据库定时备份并以附件的形式发送到邮箱中的脚本.

1、安装 mutt

yum install mutt –y

修改配置信息

vim /root/.muttrc

#如果你想自定义发件人信息,需要进行如下设置

set envelope_from=yes

set realname="liuyishi"

set use_from=yes

set from=liuyishi@outlook.com

#如果你收到的邮件乱码,设置以下信息

set charset="utf-8"

set rfc2047_parameters=yes

2、邮件发送

mutt [-hnpRvxz] [-b<地址>][-c<地址>][-f<邮件文件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址] [-a<附件>]

mutt 发带附件邮件提示:message file too big

解决办法:在命令行中设置 postfix 的 message_size_limit 的值

postconf -e "message_size_limit=409600000"  <== 设置400MB

注:CentOS6 以上的版本,附件需添加至命令的最后。

3、邮件接收

接收邮件的邮箱必须设置 liuyishi@outlook.com 为白名单,否则会被邮箱运营商屏蔽。

3.1 编写自动备份脚本

auto_backup_data.sh 脚本如下:


#!/bin/sh

# auto backup mysql data

# liuyishi

# date: 2015-08-15

BACKUP_DIR=/root/databak

Now=$(date +"%Y%m%d")

File=UUWIFI-BAK-$Now.sql

LOGFILE=/root/databak/backup.log

if [ ! -d $BACKUP_DIR ] ;then

 mkdir -p $BACKUP_DIR

fi

if [ ! -f $LOGFILE ] ;then

 touch $LOGFILE

fi

echo "BACKUP DATE:" $(date +"%Y-%m-%d %H:%M %A") >> $LOGFILE

cd $BACKUP_DIR

mysqldump -uroot -ppassword UUWIFI > $File

if [[ $? == 0 ]]; then

       tar czvf ${File}.tgz $File >> $LOGFILE 2>&1

 echo "Database Backup Successful!" >> $LOGFILE

 echo "MySQL Database" | mutt -s "Database Backup Successful!" 2990329440@qq.com -a ${BACKUP_DIR}/${File}.tgz >&/dev/null

 rm -rf $File

  else

 echo "Database Backup Fail!" >> $LOGFILE

 echo "MySQL Database" | mutt -s "Database Backup Fail!" 2990329440@qq.com

fi

echo "——————————————————————————————————————————————————" >> $LOGFILE

3.2 编辑定时任务

crontab -e

30 18 * * * /root/databak/auto_backup_data.sh > /dev/null 2>&1
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 9808

    收藏了,对于我这初级运维来说看起来简单明了

  • 其他回帖
  • 需要开放什么端口不