Linux VPS主机定时自动备份网站及MYSQL数据库的脚本

从我们开始学习建站开始,不论我们是用免费的虚拟主机,还是省吃俭用购买的付费主机,以及我们在更大的项目需要转向VPS或者服务器存储;不论我们是不是技术科班出身,还是跟老左一样,看到网友们都有自己的网站于是热情澎湃的也搭建一个玩玩;不论我们的网站是大还是小,有盈利还是没有盈利,都要学会基本的自我维护,尤其是网站数据的备份。

 

我们不要过分的依赖和信任主机商给我们提供的备份,即便我们购买的很牛、很贵的服务商的产品,他们也可能会由于各种的可能性导致数据丢失或者奔溃的情况,我们可以选择定期手工备份或者用一定的技术自动备份,一般前者针对数据量不大的个人网站,后者对于项目比较多希望自动管理的站点可以实施自动备份。

 

在老左博客中,已经有不少的关于网站、VPS备份的文章,有些简单的手工备份文件和数据库导出,有些比较高端的同步增量备份,对于我们用户来说,选择一种适合自己的就可以,毕竟我们只需要学会使用以及结果实现就可以。

 

 代码如下 复制代码

1、配置RSYNC实现定时同步镜像VPS网站备份 替换增量备份文件

2、Linux VPS自动同步备份文件/数据库至COPY存储站点

3、免费利用多备份定时在线备份网站文件和数据库

 

因为最近一段时间老左在玩以前购买的Godaddy经济主机,没有建站的需求,但可以用来备份我们的VPS中的网站存储使用,个人认为备份到自己的主机中的文件比依托第三方的备份存储安全很多,你认为呢?

 

在众多的网上流传的自动备份脚本中,老左认为军哥的自动备份FTP上传脚本还是比较好的,可以自动将数据库和网页文件分批打包,然后定时上传到指定的FTP主机中。所以,在这篇文章中,详解这个脚本的实际使用。

 

第一、准备工作

 

我们需要准备一台FTP主机,确保可以用FTP工具链接打开的,注意密码不要搞错。比如我手上的这台主机用FTP连接之后是这样的。

 

 

我们先确认下FTP主机账户是否正确,以及需要得到一个备份目录,这里我们需要的是HTTPDOCS,不是每个主机都是一样的,我们必须要备份到这个目录下,或者在里面的文件夹都可以。(有些可能是WWWROOT)

 

其次,我们需要将VPS环境安装lftp,用于上传文件的应用使用。

 

 代码如下 复制代码

yum -y install lftp

 

比如在centos环境中执行上面的yum脚本运行安装,如果是debian则修改成apt-get

 

再次,我们需要在VPS环境中创建一个文件夹,用于备份文件存储,比如在/www/backup。原理就是执行脚本之后,将我们的网站和数据库先备份到/www/backup中,然后利用脚本LFTP上传到FTP空间。

 

第二、编辑备份脚本

 

 代码如下 复制代码

http://soft.laozuo.org/backup/backup.sh

 

在上面的脚本中,我们需要先下载到本地,然后编辑(不要用记事本编辑),用editplus或者sublime编辑器。这里需要逐一解释下使用,因为关乎到我们的VPS路径和实际的配置不同,往往新手很容易出错。

 

 

我们先从上面开始看,一定要注意修改配置,Backup_Dir代表我们当前的网站在VPS中的文件夹路径,根据实际的情况修改。这里是写了备份2个网站,如果我们只需要备份一个网站,那就去掉一行,注意后面的参数1、2,以及多个网站一次类推。

 

MYSQL数据库信息,中间部分需要写上ROOT信息的MYSQL账户,这样确保能够备份完整,下面是写上需要备份站点的数据库名,如果只要备份一个,我们就去掉一行,如果多个,增加多行,注意参数。

 

 

这里也比较关键,需要填写我们在准备工作时候准备的FTP账户,尤其是FTP_BackupDir我们需要对应直接FTP工具打开后看到的文件存储目录,根据实际的情况不是每个主机商都一样的。

 

 

在这里我们需要注意2个问题,一个是如果我们只要备份一个站点,那多余的一行要去掉,因为默认老左是写了2个,以便区别,如果有多个站点的时候备份目录写法。以及我们需要注意目录问题,在这个脚本中,我的目录在www中,有些是在home中,有些在var中,各不相同,我们需要根据自己的实际情况,然后修改自己的路径。(认真检查)

 

第三、部署测试备份

 

修改没有问题之后,我们就上传到VPS中的root目录中。我们可以测试下是不是可以备份。

 

 代码如下 复制代码

sh /root/backup.sh

 

 

我们可以看到执行测试备份之后,执行压缩、上传过程。

 

第四、部署自动定时备份

 

我们将脚本加入到crontab中可以实现定时备份,比如我们设置每天凌晨1点备份。

 

 代码如下 复制代码

crontab -e

 

打开crontab文件,然后添加

 

 代码如下 复制代码

0 1 * * * /root/backup.sh

 

可以实现每天定时备份,如果我们不需要这么频繁,也可以修改定时的时间,比如每周某个时间备份执行。前提是我们需要已经安装了crontab。看看我这边测试的备份数据。

 

 

在老左的FTP空间里,可以看到三天的备份数据,数据库和文件是分开打包的,如果需要就可以下载到本地。

 

总结,如果我们站点较小或者也不是很忙,可以手工备份,自动备份的设置我们可以先在测试机器测试,然后再部署,虽然这个FTP备份的脚本比较简单,但是还是需要先测试完善后部署的,我们看到任何教程,即便老左测试发布过,但我们自己使用的时候也需要测试确保没问题。

时间: 2016-07-10

Linux VPS主机定时自动备份网站及MYSQL数据库的脚本的相关文章

linux下Vps自动备份web和mysql数据库的脚本_Linux

用Vps什么事都要自己费心,备份也是.像Linode里的备份服务是要收费的,一个月是5美元.与其花这5美元,不如自己丰衣足食.为服务安装上了Dropbox,设定为每天4:00-6:00 开启同步服务.在之前运行两个脚本,自动备份web文件夹和mysql数据库. 两个脚本都是备份文件到/root/Dropbox/backup目录里,并自动删除10天前的备份.web备份是每周行一次,删除30天前的备份. 一.备份WEB文件夹 1.备份/home/users/public_html目录 2.修改cro

用批处理实现自动备份和清理mysql数据库的代码_Mysql

有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本.我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动又该如何实现呢?也很简单,就用windows自带的"任务计划"功能,设定一个时间,让系统定时跑脚本,不就实现了自动备份数据库的功能了吗? 不过到现在已经有很多的mysql备份软件,例如我比较喜欢使用的是护卫神的好备份软件. 下载地址:http://www.jb51.net/softs/42944.html 首先把脚本代码贴出来:

CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中_linux shell

一.安装Email发送程序 复制代码 代码如下: yum install sendmail mutt 二.安装FTP客户端程序 本脚本需要用到FTP客户端程序将文件上传到FTP空间上面,因此必须安装FTP客户端,否则将出现ftp命令无法找到的错误. 安装步骤请参考:<CentOS提示ftp:command not found> 三.在/root目录下新建脚本文件:AutoBackupToFtp.sh,内容如下: 复制代码 代码如下: #!/bin/bash #你要修改的地方从这里开始 MYSQ

Linux VPS/服务器上轻松导入、导出MySQL数据库的几种方法_Linux

下面VPS侦探说一下几个解决方法: MySQL数据库导出 方法1:mysqldump命令 执行命令: /usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 > 文件名 如果数据库用户名有密码密码,执行后会提示输入密码.如果数据库用户名没有密码,就将命令中的"-p"参数删除. 注意:推荐使用MySQL root帐号进行操作,因为有些数据库可能设置了只能对应的用户进行操作. 方法2:phpmyadmin phpmyadmin支持将数据库文件直接备

Linux定时自动备份数据库并上传至FTP的脚本

适用于使用lnmp环境下定时自动备份网站和mysql数据库并上传至FTP:  代码如下 复制代码 •#!/bin/bash •MYSQL_USER=root •MYSQL_PASS=root •FTP_USER=ftp •FTP_PASS=123456 •FTP_IP=www.is36.com •FTP_backup=/public_html/ •WEB_DATA=/home/wwwroot/ • •DataBakName=Data_$(date +"%Y%m%d").tar.gz •

Linux VPS主机网站数据库、文件自动定时备份Dropbox网盘的方法

无论我们是选择月付10美金,还是年付10美金的VPS.服务器,无论我们选择成立3个月的主机商,还是选择成立30年的主机商,只要我们一旦选择使用且用于存储有用的数据,比如网站.我们都需要时刻准备保管和备份数据,要明白数据的重要性.我们可以选择定期手工复制备份至本地,也可以选择利用有些主机商提供的快照备份或者付费备份服务.   在这篇文章中,老蒋将会继续折腾关于Linux VPS主机环境中网站文件和数据库备份的又一个方法,备份至DropBox网盘中.我们很多朋友也应该有所了解这个海外的网盘,算是做的

centos自动备份网站文件与mysql数据库脚本

案例一:shell+cron实现MySQL自动备份且自动删除N天前备份  代码如下 复制代码 #!/bin/sh DUMP=/usr/local/mysql/bin/mysqldump OUT_DIR=/home/ldl/xxx/backup/ LINUX_USER=ldl DB_NAME=ldl DB_USER=ldl DB_PASS=xxx #How much days backup most DAYS=1 #Core of script cd $OUT_DIR DATE=`date +%Y

linux VPS主机上备份网站和数据库的方法_Linux

今天介绍一下简单的方法为自己的VPS备份. 1.使用putty登录VPS,这里不多介绍了. 2.备份网站目录: [root@www ~]# cd /web/www //进入相应的目录 [root@www www]# tar zcvf vps.tar.gz vps //使用tar打包且压缩vps文件夹,压缩后的文件名为:vps.tar.gz [root@www www]# 3.备份数据库: 方法一:使用PHPmyadmin备份数据库 方法二:使用mysqldump定时自动备份数据库 [root@w

Linux VPS主机MYSQL数据库备份的4个方法

从虚拟主机过度到VPS之后,一般的站长可能会感觉到运维时间成本还是比较大的,虽然有些时候便宜VPS对比虚拟主机还稍许便宜,但是VPS在运维的时候是比虚拟主机操心一些.比如在VPS维护.备份数据方面,在没有使用定期自动备份功能而是用手工备份,备份周期应该比虚拟主机缩短很多.对于网页文件,我们可以通过压缩打包FTP下载的方式搞定,MYSQL数据库的备份需要格外的小心,一旦备份失误缺失,然后真需要还原恢复的时候可能会造成很大的损失. 下面老左整理大部分用户比较常用的Linux VPS主机网站环境MYS