返回首页

张小三资源网
    站长必备网站 ╭∩╮(︶︿︶)╭∩╮!高性价比VPS推荐。
03月012013

debian vps自动备份脚本

Posted by 张小三资源网 2013年03月1日 Tags:debian,vps备份

购买vps以后,为了节省有限的内存资源,我在vps上采用debian 32位系统搭建了lnmp系统用于建站。debian系统占用内存少,负载均衡,但是如果没有控制面板的话,管理起来就只能通过ssh中使用linux命令来管理。对于不熟悉linux命令的人来说确实比较麻烦。本篇将详细地分步骤介绍如何在debian系统下,使用linux命令实现定时自动备份网站数据。(本文备份方法适用于所有linux系统非必须debian)

vps系统环境
系统说明
vps主机内存256MB,硬盘空间 20GB;系统为debian 6 32位;安装的是lnmp。


先给一份手动备份网站的列子:

cd /home/
mkdir backup

cd backup
mkdir www
mkdir mysql

cd /root/
touch backup.sh
chmod +x backup.sh

vim backup.sh 添加如下内容:
cd /home/backup/mysql/
mysqldump -h localhost -u数据库用户名 -p数据库密码  数据库名称| gzip >数据库名称-$(date +%Y%m%d).sql.gz
tar zcvf /home/backup/www/zxsdw.com_$(date +%Y%m%d).tar.gz -C /home/wwwroot zxsdw
如上操作后,要手动备份数据只需运行 sh /root/backup.sh 即可
要自动备份可运行:crontab -e 命令添加如下内容:0 2 * * * sh /root/backup.sh

linux备份各步骤详细解说:
以zxsdw.com为例:网站安装在/home/wwwroot/zxsdw.com/目录下;备份文件打算放在/home/backup/下,为了使备份信息更清晰,将网站文件备份在在/home/backup/www/下,将mysql数据库备份放在/home/backup/mysql/下。

需要提前做 在/home/下创建backup文件夹,然后在/home/backup/下再创建www和mysql文件夹。使用root登录后,如下操作

cd /home/

mkdir backup

cd backup

mkdir www

mkdir mysql
创建备份脚本使用root登录vps后,默认目录就是/root/(如果不是,可以用cd /root/切换到root目录下),首先可以在/root/文件下运行如下:

touch backup.sh

chmod +x backup.sh

vim backup.sh

创建一个backup.sh的执行文件,通过chmod设置其可读写,并用vim编辑这个文件。

下面就是通过vim编辑backup.sh中要添加的内容,如下:

1.创建数据库备份脚本
cd /home/backup/mysql/

#将mysql的备份放到/home/backup/mysql/下,所以首先cd到这个目录。

mysqldump -h localhost -u数据库用户名 -p数据库密码  数据库名称| gzip >数据库名称-$(date +%Y%m%d).sql.gz


#这段就是数据库中的各个数据库分开备份并且采用gzip压缩,导出为“数据库名称-年月日.sql.gz”这样的格式。gzip压缩后的sql数据库备份文件更小,恢复数据的时候可以直接导入sql.gz的备份文件来恢复。

2.创建网站文件备份脚本
#绝对路径备份(通俗点说就是点开压缩包先进入home,下面还有wwwroot,就是一级一级打开,最后才是网站的文件夹)
tar zPcf /home/backup/www/zxsdw.com_$(date +%Y%m%d).tar.gz /home/wwwroot/zxsdw.com/

#相对路径备份 (压缩包只有zxsdw.com这个文件夹及文件夹下面的网站数据)
tar zPcf /home/backup/www/zxsdw.com_$(date +%Y%m%d).tar.gz -C /home/wwwroot zxsdw.com


#以上为实例,根据你的实际情况修改。此段zxsdw.com的网站文件放在vps的/home/wwwroot/zxsdw.com/下,然后使用tar压缩命令将此文件下的所有文件备份保存到/home/backup/www/文件下,然后保存为“zxsdw.com_年月日.tar.gz”的压缩文件。

3.创建网站日志备份脚本(可选)
网站访问日志一般放在wwwlogs下,个人比较喜欢通过分析网站日志来了解搜索引擎的抓取和搜索情况,所以我想分开备份每天的log网站日志。创建如下脚本:

tar zPcf /home/backup/log_$(date +%Y%m%d).tar.gz /home/wwwlogs/


为了实现将网站日志按日每天分开备份,以便了解每天的网站抓取和收录情况,在备份日志后将原来的日志删除,重新创建一个新的空白日志文件,再添加如下(以www.zxsdw.com为例):


rm -rf /home/wwwlogs/*.*

cd /home/wwwlogs/

touch www.zxsdw.com.log
添加删除旧的备份脚本

使用vim backup.sh命令然后添加如下:


find /home/backup/ -type f -mtime +2 -exec rm -f {} \;

find /home/backup/www/ -type f -mtime +2 -exec rm -f {} \;

find /home/backup/mysql/ -type f -mtime +2 -exec rm -f {} \;

#这段为,分别删除/home/backup/及其下面的子目录www和mysql下的2天前生成的旧的备份文件。

将这些内容使用vim编辑添加到backup.sh中后,保存退出。因为backup.sh放置在/root/目录下,所以接下来测试运行:

sh /root/backup.sh

运行该命令后,如果没有出现错误提示一般就说明这个备份脚本创建成功了,然后你通过查看/home/backup/及其子目录下是否生成了备份文件可以确定是否备份成功。

设置vps自动定时备份

要实现自动备份必须使用linux下的cron定时任务工具。以我的vps系统debian6 32系统为例说明。

通过命令crontab -e添加如下内容:

0 12 * * * sh /root/backup.sh

说明:我设置每天凌晨3点运行备份脚本。但是通过测试发现,我的香港vps的时间貌似和北京时间有时差。如上,我设置12点对应运行的应该是北京时间凌晨3点。

至此,我的debian vps在lnmp下定时自动备份网站设置成功。实现了每天凌晨3点备份网站文件、数据库数据和网站访问日志,我就可以同过sftp从/home/backup/中下载备份文件了。

老外vps无特别说明(即使用优惠码)都按优惠后的价格续费。此vps无爱可看之前其它文章
发现Out of Stock说明缺货中,可考虑购买其它VPS。自备谷歌浏览器有简单的翻译功能。

买老外的域名、vps都需美元。有信用卡可直接购买。无卡无美元的注册Paypal到淘宝找人充美元即可。老外VPS购买教程参考:http://www.zxsdw.com/index.php/archives/259/

添加新评论 »

zxsdw.jpg

张小三资源网QQ交流群:292348362

讯美IDC

最近回复

  • 张小三资源网: 帮公司的企业站放在板瓦工,顺带还装了个博客跟出海,没压力。不满意30天退款不墨迹,搬瓦工外号传家宝,...
  • zhujiwiki: 速度可以,建站差强人意
  • Asiaidc.net: CentOS与Debian都是不错的选择,视个人爱好和使用情况而选择就好,据说国内CentOS过户多...
  • 韩国K金时尚首饰: 与人为善,不仅是为人之道也是生财之道。
  • 韩国瑜伽服装购物网: 世间有许多事功亏一篑的主要原因就是意志不坚定,不能坚持到底。现实生活中,如果没有坚定意志,我们就不能...
张小三资源网 is powered by Typecho))) 网站地图