备份VPS数据到Dropbox上

以前用wordpress的时候,有个插件可以把vps上的文件和mysql数据库备份到指定的位置上去,比如email、ftp、 dropbox等等。现在用emlog,并没有类似的插件,但是我们有个更简洁更好用的方法,直接利用脚本+cron定时备份数据到dropbox上。下面详述如何来实现 这个功能。

一、下载脚本并赋予可执行权限

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

二、自己建立一个备份脚本,用来调用刚下载的dropbox_uploader.sh

#vi Backup2Dropbox.sh

输入下面的内容:

#!/bin/bash
     
    SCRIPT_DIR="/root" #改成dropbox_uploader.sh所在的文件夹位置
    DROPBOX_DIR="/vps/bakup" #改成你的备份文件想要放在Dropbox下面的文件夹名称
    BACKUP_SRC="/root/test /root/test2" #要备份的本地VPS上的文件,不同的目录用空格分开
    BACKUP_DST="/tmp" #暂时存放备份压缩文件的地方,一般用/tmp即可
    MYSQL_SERVER="127.0.0.1" #mysql服务器的地址,一般填这个本地地址即可
    MYSQL_USER="mysqluser" #mysql的用户名名称,比如root或wp之类的
    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-Datebase.sql"
    tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Datebase.sql"
     
    # 用脚本上传到dropbox
    $SCRIPT_DIR/dropbox_uploader.sh upload "$DESTFILE" "$DROPBOX_DIR/$NOW.tar.gz"
     
    # 删除本地的临时文件
    rm -f "$NOW-Datebase.sql" "$DESTFILE"
    #删除dropbox上的备份文件,只留最新的三份
    $SCRIPT_DIR/dropbox_uploader.sh delete  $DROPBOX_DIR/$(date -d -21day +%Y-%m-%d).tar.gz

赋予Backup2Dropbox.sh可执行权限:

#chmod 700 Backup2Dropbox.sh

四、执行一下Backup2Dropbox.sh

#./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: MyUploader631510919    #这个是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建立后,应该会看到一个叫App key和一个叫App secret的东西
      App key: 1234567890  #把你的key复制到这边
      App secret: 987654321  #把你的secret复制到这边
    > App key is 1234567890 and App secret is 987654321, it’s ok? [y/n] y #确定无误后按y回车

根据上面的提示,打开浏览器,到dropbox上做相应的设置,设置完成后,出现

> Access Token request... OK
Setup completed!

则表示运行成功了。

五、设置cron,让脚本在特定的时间运行

crontab -e

输入下面的内容后,保存:

00 4 * * 0 /root/Backup2Dropbox.sh

这表示在每个星期天的凌晨四点运行这个脚本。cron的具体用法参见这篇文章

至此我们已成功的在vps上设置完成了自动备份脚本,以后它会在你指定的时间把你想要备份的数据都备份到dropbox上,再也不用怕数据丢失了。

 

posted @ 2013-01-06 09:31  cuxnil  阅读(375)  评论(0编辑  收藏  举报