博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动备份数据库并发送附件至邮箱
阅读量:5901 次
发布时间:2019-06-19

本文共 1962 字,大约阅读时间需要 6 分钟。

38580ced88c34c2dbd80adeb449200b3-db.jpg

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

1、定期数据备份和更新

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

2、异地备份

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

3、建立故障切换机制

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

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

1、安装mutt

yum install mutt –y

修改配置信息

vim /root/.muttrc#如果你想自定义发件人信息,需要进行如下设置set envelope_from=yesset realname="liuyishi"set use_from=yesset 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-15BACKUP_DIR=/root/databakNow=$(date +"%Y%m%d")File=UUWIFI-BAK-$Now.sqlLOGFILE=/root/databak/backup.logif [ ! -d $BACKUP_DIR ] ;then mkdir -p $BACKUP_DIRfiif [ ! -f $LOGFILE ] ;then touch $LOGFILEfiecho "BACKUP DATE:" $(date +"%Y-%m-%d %H:%M %A") >> $LOGFILEcd $BACKUP_DIRmysqldump -uroot -ppassword UUWIFI > $Fileif [[ $? == 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.comfiecho "——————————————————————————————————————————————————" >> $LOGFILE

3.2 编辑定时任务

crontab -e30 18 * * * /root/databak/auto_backup_data.sh > /dev/null 2>&1

转载于:https://www.cnblogs.com/liuyishi/p/9180832.html

你可能感兴趣的文章
Codeforces 582B Once Again
查看>>
template.helper 多参数
查看>>
RadioButton布局图片+文字 实现tabhost效果
查看>>
access中设置不等于
查看>>
hdu 1221 Rectangle and Circle
查看>>
Android 四大组件之四(ContentProvider)
查看>>
Android 四大组件之一(Activity)
查看>>
扫描(一)
查看>>
PIE SDK矢量数据的读取
查看>>
两种方式分别改变alertdialog的宽和高
查看>>
TextView-setCompondDrawables用法
查看>>
Centos7安装rabbitmq server 3.6.0
查看>>
iostat命令学习
查看>>
SQL 三种分页方式
查看>>
查看linux是ubuntu还是centos
查看>>
html video的url更新,自动清缓存
查看>>
IOS Xib使用——为控制器添加Xib文件
查看>>
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤
查看>>
【11】ajax请求后台接口数据与返回值处理js写法
查看>>
Python菜鸟之路:Jquery Ajax的使用
查看>>