自动备份 VPS 数据到 Dropbox

申请 Dropbox

https://db.tt/Bd8aU3w

申请 Dropbox App

打开 App Console 申请App

Create App

登录 VPS 获取 Dropbox 脚本

wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

配置脚本

chmod +x dropbox_uploader.sh #赋予权限
./dropbox_uploader.sh info #开始绑定App

这里他会让你输入App key以及App secret,在刚刚我们创造的APP那里有!
然后他会询问你是App folder 还是Full Dropbox,按照刚刚我们上面的说明,按f,然后回车!
是否确认, 按y, 然后回车, 等待几秒会给出一个网址, 在浏览器中打开.

授权好了,回到SSH上,按下回车。
如果不出意外的话,我们就配置好了,可以用下面的代码测试!

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

显示done就好了

然后我们建立一个自己的脚本

vi backup.sh

内容如下:

#!/bin/bash
SCRIPT_DIR="/root" #这个改成你存放刚刚下载下来的dropbox_uploader.sh的文件夹位置
DROPBOX_DIR="/backup" #这个改成你的备份文件想要放在Dropbox下面的文件夹名称,如果不存在,脚本会自动创建
BACKUP_SRC="/home/wwwroot /usr/local/nginx/conf" #这个是你想要备份的本地VPS上的文件,不同的目录用空格分开
BACKUP_DST="/tmp" #这个是你暂时存放备份压缩文件的地方,一般用/tmp即可
MYSQL_SERVER="localhost" #这个是你mysql服务器的地址,一般填这个本地地址即可
MYSQL_USER="mysqluser" #这个是你mysql的用户名名称,比如root或admin之类的
MYSQL_PASS="password" #这个是你mysql用户的密码
# 下面的一般不用改了
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tar.gz"
# 备份mysql数据库并和其它备份文件一起压缩成一个文件
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"
# 用脚本上传到dropbox
$SCRIPT_DIR/dropbox_uploader.sh upload "$DESTFILE" "$DROPBOX_DIR/$NOW.tar.gz"
# 删除本地的临时文件
rm -f "$NOW-Databases.sql" "$DESTFILE"

然后再把刚刚我们自己建立的脚本文件改成可执行文件

chmod +x backup.sh #赋予权限

运行的时候就输入下面的代码即可

./backup.sh

通过 cron 来设置定时运行脚本

crontab -e

输入以下内容进行定时计划任务

0 3 * * * /bin/bash /root/backup.sh

至此VPS就会自动备份了.
博主在国外VPS上面成功了, 国内阿里云走不到生成URL那一步, 国内用户可选择用百度云自动备份.

您可能还喜欢...