自动将VPS上的网站文件和数据库打包备份到百度云盘脚本

老牛  2014-01-04 12:11  阅读 411 views 次 评论 5 条

使用百度云存储备份网站文件和数据库
百度云盘提供免费的2T云存储空间,而且上传下载速度都非常不错,另外最重要的是,这是百度提供的产品,稳定可靠肯定是不用说啦,这么好的东西,站长怎么能放过呢?PS:本人的所有网站就是备份到百度云盘的。
以下方法特别适合小站长,不需要投入一分钱,即可获得像Amazon S3类似的存储方案。

脚本如下(如何使用请参照本站内VPS分类下文章):

#!/bin/bash

# 常规定义
MYSQL_USER="root"
MYSQL_PASS="password"
baidupan_DIR="/backup/$(date +%Y-%m-%d)"
BACK_DIR="/bdbackup"
# 备份网站数据目录
NGINX_DATA="/etc/nginx"
BACKUP_DEFAULT="/var/www/html"
# 备份网站数据目录
NGINX_DATA="/etc/apache2"
BACKUP_DEFAULT="/var/www/html"
# 定义备份文件名
mysql_DATA=mysql_$(date +"%Y%m%d").tar.gz
www_DEFAULT=default_$(date +%Y%m%d).tar.gz
nginx_CONFIG=nginx_$(date +%Y%m%d).tar.gz
# 判断本地备份目录,不存在则创建
if [ ! -d $BACK_DIR ] ;
then
mkdir -p "$BACK_DIR"
fi

# 进入备份目录
cd $BACK_DIR

# 备份所有数据库
# 导出需要备份的数据库,清除不需要备份的库
mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' > databases.db
sed -i '/performance_schema/d' databases.db
sed -i '/information_schema/d' databases.db
sed -i '/mysql/d' databases.db

for db in $(cat databases.db)
do
mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz
done

# 打包数据库
tar -zcvf $mysql_DATA *.sql.gz

# 打包本地网站数据
tar -zcvf $www_DEFAULT $BACKUP_DEFAULT

# 打包Nginx配置文件
tar -zcvf $nginx_CONFIG $NGINX_DATA/*.conf

# upload
cd ~
/root/baidu_uploader/bpcs_uploader.php upload $BACK_DIR/$nginx_CONFIG $baidupan_DIR/$nginx_CONFIG
/root/baidu_uploader/bpcs_uploader.php upload $BACK_DIR/$mysql_DATA $baidupan_DIR/$mysql_DATA
/root/baidu_uploader/bpcs_uploader.php upload $BACK_DIR/$www_DEFAULT $baidupan_DIR/$www_DEFAULT

# Delete all local backup
rm -rf $BACK_DIR
exit 0

PS:如何让脚本自动定时运行请参照本博客内tagVPS备份下的相关内容

历史上的今天:

本文地址:http://xiaohost.com/404.html
版权声明:本文为原创文章,版权归 老牛 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

  1. Tim
    Tim @回复

    不错~~~我正需要~~~网站在国外主机上~~还是随时备份到国内稳当

    • 老牛
      老牛 @回复

      这必须的~~~国外的其实也可以考虑Dropbox,可能备份速度更快,而且很多程序都有Dropbox的插件,Dropbox是建立在Amazon S3云存储上的,数据可靠性比百度云还要好,主要是没政策风险啊~

  2. 免费部落
    免费部落 @回复

    还没用过vps!

    • 老牛
      老牛 @回复

      你网站不一定要搬到vps上来,但是可以买台来玩玩~~~学习知识

  3. jalena
    jalena @回复

    兄台,脚本我已经更新了!更精炼了!