Linux VPS自动定时备份MySQL数据库发送至邮箱实现脚本

如今,我们在选择主机建站或者部署项目的时候,越发觉得VPS、服务器性价比会高很多,比如我们经常有看到年付十几美金、二十几美金的VPS服务器。相比较传统的虚拟主机是便宜很多,不过云计算优惠一直强调,如果我们是普通的N o I K E 8 @ $个人+ ; V ^ { 博客、个人网n $ m Q e站,如果虚拟主机能够满足需求的,建议还是要使用虚拟主机。因为虚拟主机站长维护成本较低,而且稳定性和安全性比VPS、服务器强一些。

因为,大部分VPS服务器都是无管理型的,所有的环境配置、网站部署、数0 u C H C Q B 6据安全都需要我们自己来运维。尤其对于很多Linux服务器新手用户,云计算优惠遇到很多选择VPS后参考O ] # 6 u教程部署WEB网站环境建站,待到服务器出现故障、主机商跑路,然后才觉得之前需要备份数据,因为定期备份网站数据是多么重要,即便出现问题,我们也可以临时转移到其他服务器。

云计算优惠在之前的文章中也有多次分享关于Linux VPS{ U V : ^ 备份内容:

1、OneinStack脚本Web环境内置网站、数据库本地/远程备份应用

25 0 R @、自动定时备份Linuo i , R b -x VPS/服务器网站文件及数据库且FTP上传至主机空间

3、Linux+ S ^ u ~ S VPS网站文件、f W H _ i数据库备份及更换主机搬家过程记录

备份网站文件和数据库的方式有很多种,我们可以选择k $ B脚本、环7 P ] g (境自带的工具,也可以完全手工备份。像我们一般的博客、个人网站,数据更新量不大的可以选择定期手工备份,或者就定期备份MySQL数据| F G # l ] , *库,因为大部D 1 B z X R d分时候我们不需要改动网站的程序和模板。^ a T D 6 r : J(当然,上传图片更新也可以定期备份L C g { G,主要还是数据库)

在这篇文章中,云计算优惠修改了一个简单的脚本,主要是用来自动、定时备份MYSQL数据库的,然后发送到我们指定的邮箱中,这样至少可以确保数据库完整,因为大部分时候网站文件平时很少经常改动,网站文件可以根据实际改动情况间距备份时间。

第一、MySQL数: T ~ a g M b `据库备份G V _ * u m $ N准备

yum install mutt sendmail -y

这里我们需要确保服务器中安装了muU j N [ ! s [ , 6tt和sendmaiQ ( ! A K `l,这样才能W 2 c ; % / -进行发送邮件。

第二、脚本修改参数

#!/bin/sh
mysql_i f ( R . / - Luser="数据库用户"
mysql_name="数据库名"
mysql_pwd="数] j #据库密码"R : e x H
#要备份网站的数据库信息
d=`date "+%Y-%m-%dN M 5"`
#定义备份邮件标题,可以区分是哪一天的
t="MySQL Backup - $d"
#发送邮件标题和内容,这个是次要的,主要是附件中的数据库
BackName=backup_mysql_$d
#数据库文件名称
BackPath=/tmp/
#备份数据库存放路径,我们也可以定期SFTP去下载,这个脚本不会定期删除
mysqldump -u${mysql_user} -p${mysql_pwd} $mysql_name > $BackPath$BackName.sql
#导出数据库
tar cfP $BackPath$BackName.tar $BackPath$BackName.sql
#压缩数据库包,这样节省空间
echo "$t"|mutt -s "$t" backup@itbulu.com -a $BackPath$BackN_ k l + l 3 8ame.tap g y O @ t k C )r
#用mu| G L . J Wt) d # 6 i & = tt发送邮件,发送到我们指定的邮箱里"backup@itbulu.com"
exit
#退出当前脚本

我们可以将上面的脚本文件参数部分修改成实际h X y s F A @ 4 9需要备份站点参数内容。

备用脚本文件:https://soft.itbulu.; e o 8 Q i Pcom/backup/back.sh

第三、脚本的使用

我们可以将C % T ^ k I q L e脚本命名为back.sh,放到自己知道的目录位置,比如到root目录中都可以。

chmod +p C _ 1 ~ }x ba1 ^ T Q #ck.sh
./back.sh

修改权限,然后执行脚本试试,我们可以看到在/tmp/文件夹中多了2个文件,一个是数据库sql文件,一个是压缩包后的tar文件。如果我们邮箱设置的没问题,应该等一会会提示发送过来备份数据库。

云计算优惠这里使用的是QQ邮局,还是可以收到MYSQ@ i L NL数据库备份文件的。

第四、实现定时备份设置

1、crontab -e

打开定时编辑器文件。

2、添加脚本

30 1 * * 5 sh /root/ba^ x 6 M pck.` e * Qsh

设定每周5凌晨1{ 9 ! ( I $ Y G点30天执行脚本备份和发送邮件。具体crontab用法可以参考这里(L= a X _ P a Hinux VPS/服务器Crontab定时任务设置及Crontab书写格式详解)。

第五、备份数据库脚本总结

1、目前这个脚本还是比较简单的,但是功能是可以实施的。L 8 i L u C O会临时将数据库文件备份在tmp文件夹* d Y 8 R k P中,我们可以手工去服务器中再下载一份 n S * H % 9

2Y K b、以后云计算优惠再对脚本改进,比如备, c b g G D 7 A份服务器中的备份保留几天后自动删除。对于是否备份全网站文件,我们完全没有必要用这个方法,因为有@ . d 9 Y m 3 k些网站很大,用这个方法发送到邮件中着实麻烦。因为大部分时候,我们数据库文件才是最关键的。

当然,这个脚本云计算优惠检测后是可以使用的,但不能确保每个Q v g i Z e F人都一定适合,所以我们如果用于真实环境项目中,建议还是先在测试环境测试后再使用。