自动备份VPS到Dropbox


本月,小博出现了一次数据丢失,很不信,我现在找不到RSS的数据了,如果哪位订阅了我的,可能帮忙我取回数据的,小弟感激不尽。

为了保证本博今后数据保存问题,遂去寻找了一下各种备份方案,方法不多,也有合意的。

方法一:vps数据每日自动备份到ftp空间或邮箱,教程请点击这里

方法二:vps数据自动备份到dropbox,参考教程请点击这里

对于方法一,有一个不好的,就是,你还需要寻找ftp空间,如果发到邮箱,附件大小也是一个考验。

对于方法二,平时就使用dropbpx同步的我,感觉很适合。

下面,我就对方法二进行教程记录,恩,我也是用这个方法去备份我的VPS了。

首选登陆vps,,这个不用说怎么登陆了吧?

获取最新的上传dropbox脚本,

$ wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropboxuploader.sh $ chmod 700 dropboxuploader.sh

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

$ vi Backup2Dropbox.sh

里面的内容如下:

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

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

chmod 700 Backup2Dropbox.sh

设置这个 dropbox_uploader.sh 脚本连接到你的 dropbox 上。先运行一下刚刚下载的脚本文件:

$ ./dropbox_uploader.sh

你会看到类似下面的提示文字,#为注释:

This is the first time you run this script.

Please open this URL from your Browser, and access using your account:

因为这是第一次使用这个脚本,所以要先用浏览器打开下面的网址去建立一个app

-> https://www2.dropbox.com/developers/apps

进入这个网址并登录后,点击”Create an App”,应该会出来一个新建app的对话框

If you haven’t already done, click “Create an App” and fill in the

form with the following data:

照着下面它提供给你的信息填进去

App name: MyUploader631511010 #这个是App的名字

Description: What do you want… #这一栏是描述,随便填就行了

Access level: Full Dropbox #注意权限这一栏要选”Full Dropbox”,也就是所有权限

然后点击”Create”按钮建立新的App

Now, click on the “Create” button.

When your new App is successfully created, please insert the

App Key and App Secret:

看到上面的内容,按照中文注释操作完成后,已经已经出现了 app key 和 app sercet ;

然后按照提示,将 app key 和 app sercet 分别填写到终端中回车。

继续提示以下内容(按照注释进行操作):

App key is 1234567890 and App secret is 987654321, it’s ok? [y/n] y #确定无误后按y回车

然后会出现下面的信息:

Token request… OK

Please visit this URL from your Browser, and allow Dropbox Uploader

to access your DropBox account:

复制下面的链接到你的浏览器里面,打开后按”Allow”允许脚本访问你的Dropbox App

–> https://www2.dropbox.com/1/oauth/authorize?oauth_token=123456789

成功后按回车继续

Press enter when done…

如果看到以下的信息,就是成功连上了

Access Token request… OK

Setup completed!

按照剩下的操作完成后,现在你的 vps 已经能够通过 dropbox_uploader.sh 访问你的 dropbox 了。

剩下的,就是使用我们的脚本压缩备份文件,调用 dropbox_uploader.sh 脚本上传备份了。

$ ./Backup2Dropbox.sh

如果想要定时备份,这可以通过 cron 来设置定时运行脚本。

$ crontab -e

然后输入一下内容进行定时计划任务

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

这样的话,每天凌晨三点VPS就会自动备份到Dropbox上了

声明:Jiechic's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 自动备份VPS到Dropbox


Just Jiechic's Blog