VPS教程详细内容

定时自动备份VPS到Dropbox(非客户端)

dropbox

以前VPS的备份我用的是Dropbox的客户端同步到网盘,最近在网上发现了一个好的脚本,可以免去使用客户端,直接上传VPS上的数据到dropbox

 

1.首先到:https://www.dropbox.com/developers/apps  创建一个APP,注意要选择Full Dropbox

 

2.到https://github.com/andreafabrizi/Dropbox-Uploader  下载脚本并上传,我们假设上传到了root目录。

 

3.在SSH里执行

赋予权限

chmod +x dropbox_uploader.sh

绑定你的app

./dropbox_uploader.sh info

按照给出的提示分别输入输入App key和App secret,最后输入Y确认。

之后屏幕上会给出一个链接,复制这个链接到浏览器打开,点击页面中的 ALLOW 允许绑定APP。之后回到SSL界面按回车完成

测试,执行后屏幕出现done就代表成功了。

./dropbox_uploader.sh upload /etc/passwd /backup/passwd.old

最后再新建一个脚本,设定权限,添加定时任务, 重启Crontab就可以了。脚本如下:(来自时光亭,需根据自己情况适当修改)

#!/bin/bash
DROPBOX_DIR="/backup/$(date +%Y-%m-%d)" #Dropbox上的备份目录
MYSQL_USER="root" #数据库帐号
MYSQL_PASS="123456" #数据库密码
YM_DATA=/etc/nginx #nginx配置目录
BACK_DATA=/home/backup #本地备份文件存放目录,手动创建
DATA=/home/www #网站数据存放目录

#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
YMName=YM_$(date +%Y%m%d).tar.gz
OldData=Data_$(date -d -6day +"%Y%m%d").tar.gz
OldWeb=Web_$(date -d -6day +"%Y%m%d").tar.gz
OldYM=YM_$(date -d -6day +"%Y%m%d").tar.gz

#定义Dropbox旧数据的名字(30天前)
Old_DROPBOX_DIR=/backup/$(date -d -30day +%Y-%m-%d) #Dropbox上的备份目录

#删除本地6天前的数据
rm -rf $BACK_DATA/$OldData $BACK_DATA/$OldWeb $BACK_DATA/$OldYM

cd $BACK_DATA

#使用命令导出SQL数据库,并且按数据库分个压缩
for db in `mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
    (mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
done
#压缩数据库文件合并为一个压缩文件
tar zcf $BACK_DATA/$DataBakName $BACK_DATA/*.sql.gz
rm -rf $BACK_DATA/*.sql.gz

#压缩网站数据
cd $DATA
tar zcf $BACK_DATA/$WebBakName ./*

#压缩域名配置数据
cd $YM_DATA
tar zcf $BACK_DATA/$YMName ./*

cd ~
#开始上传
./dropbox_uploader.sh upload $BACK_DATA/$DataBakName $DROPBOX_DIR/$DataBakName
./dropbox_uploader.sh upload $BACK_DATA/$WebBakName $DROPBOX_DIR/$WebBakName
./dropbox_uploader.sh upload $BACK_DATA/$YMName $DROPBOX_DIR/$YMName

#开始删除远程30天前的文件
./dropbox_uploader.sh delete $Old_DROPBOX_DIR/

echo -e "Thank you! all down"
NOTICE:任何商家都不能保证100%的数据安全,请注意随时备份数据。 [ 点击查看备份脚本 ]
若看不到评论框请刷新。