六六互联仿牌主机服务商

我们有荷兰、马来西亚、俄罗斯、罗马尼亚、美国数据中心,确保抗投诉,支持淘宝交易。

« Linux/VPS环境下Nginx安全配置小记VPS应用随需而变 助搭建高效网站平台 »

如何实现VPS免费备份

因为本bolg是架设在vps上的,空间商又没有提供备份的功能,所以说哪天vps挂了,我的网站也就跟着挂了。

有人说你怎么不备份呢?这个问题我也考虑过啊,其实你有没有想过对于这种国外的vps什么的,备份一下所有的网站怎么说也得百十兆吧。

你总不能天天去下载吧?这带宽可受不了,就算是带宽充足,说不定vps哪天也让你给下载挂了。

 

那我们备份vps的原理就是利用shell脚本备份网站以及数据库,然后通过ftp脚本吧备份文件上传到免费空间,简单吧。

那我就直接上脚本了~嘿嘿。

 

下面这个是上传到通过ftp把备份网站上传到空间上的脚本:

    #!/bin/bash
    backsql=`cd /backup/backsql;ls -r backsql* | head -1` #因为每天都备份文件取最新的那个
    backweb=`cd /backup/backweb;ls -r backweb* | head -1`
    ftp -n<<EOF
    open ip #这里写godaddy空间的ip
    user ftp用户名 ftp密码
    binary
    cd /back/ #备份文件要存放的ftp上的路径
    lcd /backup/backsql/ #备份mysql文件本地存放路径
    prompt
    mput $backsql
    lcd /backup/backweb/ #备份web文件本地存放路径
    mput $backweb
    close
    bye
    EOF
下面这个是备份网站和数据库的脚本:

    #!/bin/bash
    #set -x
    time=`date +%Y%m%d`
    #下面是备份MySql
    [ ! -e /backup/sqltmp ] && mkdir -p /backup/sqltmp #创建临时备份mysql目录
    [ ! -e /backup/backsql ] && mkdir -p /backup/backsql #创建mysql备份的存放目录
    cd /backup/sqltmp
    sql=`mysqlshow -u用户名 -p密码 |grep -v + | grep -Ev “Data|information|mysql|test” | awk {‘print $2′}` #查询mysql数据库里出系统数据以外的网站数据库,这里可以根据需要修改
    for sqlname in $sql
    do
    mysqldump -u用户名 -p密码 $sqlname > $sqlname.sql
    done
    tar zcvf backsql.$time.tar.gz *.sql
    rm -rf *.sql
    mv * ../backsql/.
    cd ..
    rm -rf sqltmp
    #下面是备份网站
    [ ! -e /backup/webtmp ] && mkdir -p /backup/webtmp #创建临时备份web文件目录
    [ ! -e /backup/backweb ] && mkdir -p /backup/backweb #创建web文件备份的存放目录
    cd /backup/webtmp
    tar zcvf backweb.$time.tar.gz /home/*
    mv * ../backweb/.
    cd ..
    rm -rf webtmp

然后把这两个脚本做个crontab计划任务就实现每天定时异地备份了,而且省时省力省钱。

    [root@90itt.com ~]# crontab -e
    01 0 * * * /root/backup.sh
    0 5 * * * /root/ftp.sh

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

网站主营: 仿牌空间 - 抗投诉主机 - 仿牌vps - 仿牌服务器

Copyright 2006-2013 www.66host.cn. Some Rights Reserved.