定时备份vps数据至邮箱教程

文章目录

vps尤其是便宜的vps实在是让人不放心,不知道哪天就挂了,所以备份是必须的。以前有个vps备份到dropbox的脚本,博主也试过,用过一段时间后不知是不是dropbox的api改变了,总之无法继续使用。dropbox有一个问题就是要翻墙,相对来说,将vps数据备份到邮箱是最理想的方式了。下面介绍了怎么将数据备份到邮箱。

安装sendmail组件

这里以debian为例介绍下:

1
2
3
4
5
apt-get install sendmail-bin
apt-get install sendmail mutt
 
#如果不行,就执行
apt-get install -f sendmail mutt

运行以上代码,即可安装。

注意事项

本文基于debian下lnmp一键安装脚本完善版

VPS备份脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
MYSQL_USER="root"                                #mysql用户名
MYSQL_PASS="xxxxx"                               #mysql密码
MYSQL_DATABASENAME="xxxxx"                       #要备份的数据库名
MAIL_TO="xxx@xxx.com"                            #数据库发送到的邮箱
WEB_DATA="/var/www/xxx"                          #要备份的网站数据
#你要修改的地方从这里结束
#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
#删除本地3天前的数据
rm -rf /var/www/Data_$(date -d -3day +"%Y%m%d").tar.gz /var/www/Web_$(date -d -3day +"%Y%m%d").tar.gz
#导出mysql数据库
mysqldump -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DATABASENAME > /var/www/wordpress.sql
#压缩数据库
tar zcvf /var/www/$DataBakName /var/www/wordpress.sql
rm -rf /var/www/wordpress.sql
#压缩网站数据
tar zcvf /var/www/$WebBakName $WEB_DATA
tar zcvf /var/www/backup.tar.gz /var/www/$WebBakName  /var/www/$DataBakName
echo "主题:vps备份" | mutt -s "内容:vps备份" $MAIL_TO -a /var/www/backup.tar.gz

将上述代码保存为backup2mail.sh并上传到vps空间中,我上传到的路径是/var/www。

设置定时运行

给脚本添加执行权限:

1
chmod +x /var/www/backup2mail.sh

利用系统crontab实现每天自动运行:

1
crontab -e

输入以下内容:

1
00 00 * * *  /var/www/backup2mail.sh

其中00 00为时间分/小时,可自行修改,例如:30 12 ***,就是每天12.30运行这个脚本。

邮箱接收

每天发送一封邮件也很烦,那怎么办呢,163有个功能叫订阅邮件,你可以将备份邮件分类至订阅邮件中,设置每7天删除一次,岂不是就完美了。

本文出自 TENNFY博客,转载时请注明出处及相应链接。

本文永久链接: https://www.tennfy.com/355.html

下一篇文章:

上一篇文章:

4人参与了讨论

  1. 短歌行 说:

    这个不错,小容量的这样做还行。大量数据库的话邮箱内是放不下的 :mrgreen:

  2. ipeld14 说:

    你用的是 VPS 吗?

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

3 + 5 = ?


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

返回顶部