老谢博客

  • 首页
  • WordPress
  • 网络技术
  • 乱七八糟
  • 运维技术
  • 给我留言
  • 关于老谢

转载:VPS自动备份到dropbox的脚本

分类:运维技术日期:2012-02-13 - 18:21:45作者:老谢

大名鼎鼎的dropbox,终于用上了,感觉还不错的说,下载备份的速度也可以接受,

老谢的现用的备份方案为:每日备份到GD免费空间,每周备份到dropbox,每月增量备份至一台小vps,

dropbox扩容的活动,具体参考:奥义 • Dropbox使用媒体导入快速获取额外5G免费空间

转载:VPS自动备份到dropbox的脚本

#!/bin/bash
DROPBOX_USER="guosuiyu@gmail.com" //Dropbox的账号
DROPBOX_PASS="12345678" //Dropbox的密码
DROPBOX_DIR="/backups" //Dropbox中的文件夹名称
BACKUP_SRC="/blog/rainbow /home /data" //需要备份的文件夹路径,可以同时指定多个
BACKUP_DST="/home/rainbow/backup" //用来存放备份的文件夹路径
MYSQL_SERVER="127.0.0.1" //连接本地MySQL
MYSQL_USER="root" //本地MySQL的用户
MYSQL_PASS="12345678" //本地MySQL的密码
 
#
# Stop editing here.
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tgz"
 
#
# Upload a file to Dropbox.
# $1 = Source file
# $2 = Destination file.
function dropboxUpload
{
        #
        # Code based on DropBox Uploader 0.6 from http://www.andreafabrizi.it/?dropbox_uploader
        LOGIN_URL="https://www.dropbox.com/login"
        HOME_URL="https://www.dropbox.com/home"
        UPLOAD_URL="https://dl-web.dropbox.com/upload"
        COOKIE_FILE="/tmp/du_cookie_$RANDOM"
        RESPONSE_FILE="/tmp/du_resp_$RANDOM"
 
    UPLOAD_FILE=$1
    DEST_FOLDER=$2
 
        # Login
        echo -ne " > Logging in..."
        curl -s -i -c $COOKIE_FILE -o $RESPONSE_FILE --data "login_email=$DROPBOX_USER&login_password=$DROPBOX_PASS&t=$TOKEN" "$LOGIN_URL"
        grep "location: /home" $RESPONSE_FILE > /dev/null
 
        if [ $? -ne 0 ]; then
                echo -e " Failed!"
                rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
                exit 1
        else
                echo -e " OK"
        fi
 
        # Load home page
        echo -ne " > Loading Home..."
        curl -s -i -b "$COOKIE_FILE" -o "$RESPONSE_FILE" "$HOME_URL"
 
        if [ $? -ne 0 ]; then
                echo -e " Failed!"
                rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
                exit 1
        else
                echo -e " OK"
        fi
 
        # Get token
        TOKEN=$(cat "$RESPONSE_FILE" | tr -d '\n' | sed 's/.*<form action="https:\/\/dl-web.dropbox.com\/upload"[^>]*>\s*<input type="hidden" name="t" value="\([a-z 0-9]*\)".*/\1/')
 
        # Upload file
        echo -ne " > Uploading '$UPLOAD_FILE' to 'DROPBOX$DEST_FOLDER/'..."
    curl -s -i -b $COOKIE_FILE -o $RESPONSE_FILE -F "plain=yes" -F "dest=$DEST_FOLDER" -F "t=$TOKEN" -F "file=@$UPLOAD_FILE"  "$UPLOAD_URL"
    grep "HTTP/1.1 302 FOUND" "$RESPONSE_FILE" > /dev/null
 
    if [ $? -ne 0 ]; then
        echo -e " Failed!"
                rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
        exit 1
    else
        echo -e " OK"
                rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
    fi
}
 
# Backup files.
echo "Dumping databases..."
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
echo "Packing files..."
tar czf "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"
 
dropboxUpload "$DESTFILE" "$DROPBOX_DIR"
 
echo "Cleaning the backups..."
rm -f "$NOW-Databases.sql"
find $BACKUP_DST -mtime +31 -delete //这里的时间可以根据需要进行修改

#!/bin/bash DROPBOX_USER="guosuiyu@gmail.com" //Dropbox的账号 DROPBOX_PASS="12345678" //Dropbox的密码 DROPBOX_DIR="/backups" //Dropbox中的文件夹名称 BACKUP_SRC="/blog/rainbow /home /data" //需要备份的文件夹路径,可以同时指定多个 BACKUP_DST="/home/rainbow/backup" //用来存放备份的文件夹路径 MYSQL_SERVER="127.0.0.1" //连接本地MySQL MYSQL_USER="root" //本地MySQL的用户 MYSQL_PASS="12345678" //本地MySQL的密码 # # Stop editing here. NOW=$(date +"%Y.%m.%d") DESTFILE="$BACKUP_DST/$NOW.tgz" # # Upload a file to Dropbox. # $1 = Source file # $2 = Destination file. function dropboxUpload { # # Code based on DropBox Uploader 0.6 from http://www.andreafabrizi.it/?dropbox_uploader LOGIN_URL="https://www.dropbox.com/login" HOME_URL="https://www.dropbox.com/home" UPLOAD_URL="https://dl-web.dropbox.com/upload" COOKIE_FILE="/tmp/du_cookie_$RANDOM" RESPONSE_FILE="/tmp/du_resp_$RANDOM" UPLOAD_FILE=$1 DEST_FOLDER=$2 # Login echo -ne " > Logging in..." curl -s -i -c $COOKIE_FILE -o $RESPONSE_FILE --data "login_email=$DROPBOX_USER&login_password=$DROPBOX_PASS&t=$TOKEN" "$LOGIN_URL" grep "location: /home" $RESPONSE_FILE > /dev/null if [ $? -ne 0 ]; then echo -e " Failed!" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" exit 1 else echo -e " OK" fi # Load home page echo -ne " > Loading Home..." curl -s -i -b "$COOKIE_FILE" -o "$RESPONSE_FILE" "$HOME_URL" if [ $? -ne 0 ]; then echo -e " Failed!" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" exit 1 else echo -e " OK" fi # Get token TOKEN=$(cat "$RESPONSE_FILE" | tr -d '\n' | sed 's/.*<form action="https:\/\/dl-web.dropbox.com\/upload"[^>]*>\s*<input type="hidden" name="t" value="\([a-z 0-9]*\)".*/\1/') # Upload file echo -ne " > Uploading '$UPLOAD_FILE' to 'DROPBOX$DEST_FOLDER/'..." curl -s -i -b $COOKIE_FILE -o $RESPONSE_FILE -F "plain=yes" -F "dest=$DEST_FOLDER" -F "t=$TOKEN" -F "file=@$UPLOAD_FILE" "$UPLOAD_URL" grep "HTTP/1.1 302 FOUND" "$RESPONSE_FILE" > /dev/null if [ $? -ne 0 ]; then echo -e " Failed!" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" exit 1 else echo -e " OK" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" fi } # Backup files. echo "Dumping databases..." mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql" echo "Packing files..." tar czf "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql" dropboxUpload "$DESTFILE" "$DROPBOX_DIR" echo "Cleaning the backups..." rm -f "$NOW-Databases.sql" find $BACKUP_DST -mtime +31 -delete //这里的时间可以根据需要进行修改

小提醒:别忘记给脚本执行权限了哦

chmod +x DropboxBackup.sh

chmod +x DropboxBackup.sh

原文地址:http://heylinux.com/archives/1452.html

脚本原址:http://davehope.co.uk/Blog/backup-your-linux-vps-to-dropbox/

原文地址 : https://www.xj123.info/2449.html

本站遵循 : 署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5)

版权声明 : 原创文章转载时,请务必以超链接形式标明文章原始出处

Tags: vps自动备份 , 自动备份 dropbox
  • 上一篇:CentOS编译安装Nginx(附:管理脚本)
  • 下一篇:nginx前端反代,后端apache记录正确访问者ip
31条评论
  1. 大D 说:

    灰常NB啊。。。

    POST:2012-02-13 18:28 回复
    • 老谢 说:

      @大D 免费不用白不用 = =||

      POST:2012-02-13 18:31 回复
  2. suN 说:

    老谢的水印太YD了!!!!!!

    POST:2012-02-13 19:08 回复
  3. DickWu 说:

    这就是我要的菜!

    POST:2012-02-13 20:58 回复
    • 老谢 说:

      @DickWu 感谢推荐使用dropbox~

      POST:2012-02-13 21:00 回复
      • DickWu 说:

        不谢!
        嘿嘿,貌似寒假里在tanky woo那里看到的,我以为是你写的翻半天没翻到~

        POST:2012-02-13 21:16 回复
        • 老谢 说:

          @DickWu 我可没写这种脚本的技术,话说你的博客咋打不开了?

          POST:2012-02-13 21:26 回复
          • DickWu 说:

            我也不知道,南方电信很正常,但是opera mini却打不开,说明中转服务器那里有问题。
            自从上次ddos之后,换了ip就抽风到现在。。。。结果现在我正好还没心思折腾。。。
            乃帮我ping一下看看ip地址对不对,严重怀疑ns服务器也坏了。

            POST:2012-02-13 21:31 回复
          • DickWu 说:

            老谢~~我博客还正常吗?

            POST:2012-02-13 21:56 回复
            • 老谢 说:

              @DickWu 挂代理以后正常了

              POST:2012-02-13 21:59 回复
              • DickWu 说:

                看来IP被和谐了

                POST:2012-02-13 22:02 回复
                • 老谢 说:

                  @DickWu 怪不得无法访问,刚刚ping了下,我本地的网络无法解析你的域名,Orz..

                  POST:2012-02-13 22:09 回复
              • DickWu 说:

                难道是域名被墙?

                POST:2012-02-13 22:17 回复
              • DickWu 说:

                老谢顺便帮我看看50.23.102.87这个IP可不可以直接访问?

                POST:2012-02-13 22:19 回复
                • 老谢 说:

                  @DickWu 直接ping50.23.102.87是通的,似乎真是域名被墙了 = =!!

                  POST:2012-02-13 22:23 回复
                • 老谢 说:

                  @DickWu 知道问题了,原来你在用gd的dns,感觉换成dnspod吧,gd被墙的厉害

                  POST:2012-02-13 22:26 回复
          • DickWu 说:

            看来我得去搞DNSPOD了~还错怪了Hawkhost

            POST:2012-02-13 22:32 回复
  4. Firm 说:

    我站点太大了,只能是备份到本地来着。

    POST:2012-02-13 22:28 回复
  5. 凤翼天堂 说:

    – -马萨卡那是水印么= =

    POST:2012-02-18 19:20 回复
    • 老谢 说:

      @凤翼天堂 还真是。。

      POST:2012-02-28 19:29 回复
  6. VPS ROLL 说:

    我了了个去。。我的DROPBOX每次登入密码都是错误。。每次都得取回密码修改一次。。

    POST:2012-02-28 11:56 回复
    • 老谢 说:

      @VPS ROLL 是不是密码记错了?我这样倒是正常,而且备份也没问题

      POST:2012-02-28 19:30 回复
      • VPS ROLL 说:

        不会出错的。。不知道什么原因 我从DROPBOX官方登入经常都是这情况。。那个密码我最少输入了几千几万次了 这十年里。

        POST:2012-02-29 11:32 回复
  7. 销声匿迹、 说:

    真的是灰常NB,,,这个脚本值得研究一下。。。

    POST:2012-04-24 11:40 回复
  8. fxjudy 说:

    请问多个MYSQL如何修改脚本?

    POST:2013-01-14 23:07 回复
    • 老谢 说:

      @fxjudy 不好意思,不太清楚,没认真研究过这个脚本

      POST:2013-01-16 19:06 回复
  9. DickWu 说:

    如何还原呢?

    POST:2013-07-22 19:56 回复
    • 老谢 说:

      @DickWu 数据文件和数据库都有了,还不好还原?

      POST:2013-07-22 21:13 回复
      • DickWu 说:

        啊。那个包里面是一个文件啊。。。

        POST:2013-07-22 21:31 回复
      • DickWu 说:

        好吧是我后缀看错了。。。

        POST:2013-07-22 21:32 回复
        • 老谢 说:

          @DickWu 哈哈~

          POST:2013-07-22 22:54 回复
发表评论 点击取消评论.

*必填

*必填

  • 文章归档
  • 子网计算
  • 我的共享
  • 锻炼计划
  • 给我留言
  • 关于老谢
2025 年 6 月
一 二 三 四 五 六 日
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« 5 月    

最新文章

  • 认知,是否是一座大山?当架构决策变成配置清单比价
  • 重装博客服务器环境
  • 特斯拉24款标续 Model Y 2万公里使用体验
  • 接盘的傻子
  • 小牛us电瓶指示灯闪三次不上电
  • 一次还不错的小米售后体验
  • 装台1600元办公主机
  • 2021好久没更新博客
  • Zabbix监控oxidized备份状态
  • Zabbix 5.0 LTS版本MySQL表分区及编译安装随记

最新评论

  • zwwooooo:类似以前做网站开发时,一开始有自...
  • 老陳网志:有点高端,像我们整点nas玩玩就够...
  • springwood:自从 CentOS 不维护之后,我换 U...
  • 大D:难都搞下来了,那就更得YM了
  • 大D:只能是YM了,谢总牛啊
  • 灰常记忆:经济不好 今年我也换了机器 一...
  • 大峰:这是海外服务器嘛?速度挺快的。
  • 大D:只能单走一个6了哈哈哈
  • zwwooooo:买特斯拉和买iPhone的人群其实相似...
  • 平安家属子痕:一直坚持油车,看你写的心里有...

日志存档

  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2024 年 9 月
  • 2024 年 5 月
  • 2024 年 1 月
  • 2023 年 4 月
  • 2021 年 10 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 2 月
  • 2020 年 11 月
  • 2020 年 9 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月
  • 2020 年 1 月
  • 2019 年 12 月
  • 2019 年 10 月
  • 2019 年 7 月
  • 2019 年 6 月
  • 2019 年 5 月
  • 2019 年 3 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2018 年 10 月
  • 2018 年 7 月
  • 2018 年 6 月
  • 2018 年 5 月
  • 2018 年 4 月
  • 2018 年 3 月
  • 2018 年 1 月
  • 2017 年 10 月
  • 2017 年 9 月
  • 2017 年 8 月
  • 2017 年 7 月
  • 2017 年 2 月
  • 2017 年 1 月
  • 2016 年 12 月
  • 2016 年 11 月
  • 2016 年 10 月
  • 2016 年 7 月
  • 2016 年 6 月
  • 2016 年 4 月
  • 2016 年 2 月
  • 2016 年 1 月
  • 2015 年 12 月
  • 2015 年 10 月
  • 2015 年 9 月
  • 2015 年 7 月
  • 2015 年 5 月
  • 2015 年 4 月
  • 2015 年 3 月
  • 2015 年 2 月
  • 2015 年 1 月
  • 2014 年 12 月
  • 2014 年 10 月
  • 2014 年 9 月
  • 2014 年 8 月
  • 2014 年 7 月
  • 2014 年 6 月
  • 2014 年 5 月
  • 2014 年 4 月
  • 2014 年 3 月
  • 2014 年 2 月
  • 2014 年 1 月
  • 2013 年 12 月
  • 2013 年 11 月
  • 2013 年 10 月
  • 2013 年 9 月
  • 2013 年 8 月
  • 2013 年 7 月
  • 2013 年 6 月
  • 2013 年 5 月
  • 2013 年 4 月
  • 2013 年 3 月
  • 2013 年 2 月
  • 2013 年 1 月
  • 2012 年 12 月
  • 2012 年 11 月
  • 2012 年 9 月
  • 2012 年 8 月
  • 2012 年 7 月
  • 2012 年 6 月
  • 2012 年 5 月
  • 2012 年 4 月
  • 2012 年 3 月
  • 2012 年 2 月
  • 2012 年 1 月
  • 2011 年 12 月
  • 2011 年 11 月
  • 2011 年 10 月
  • 2011 年 9 月
  • 2011 年 8 月
  • 2011 年 7 月
  • 2011 年 6 月
  • 2011 年 5 月
  • 2011 年 4 月
  • 2011 年 3 月
  • 2011 年 2 月
  • 2011 年 1 月
  • 2010 年 12 月
  • 2010 年 11 月
  • 2010 年 10 月
  • 2010 年 9 月
  • 2010 年 8 月
  • 2010 年 7 月

W3C

  • XHTML 1.0 Transitional
  • CSS level 3
  • Google+
Copyright © 2010-2025 老谢博客 All rights reserved.
Gzipped 76.5% | Optimized loading 63 queries in 0.840 seconds | Memory 38.97 MB | 尼玛的备案
Powered by WordPress. | Hosted By LAOXUEHOST | Theme by WordPress主题巴士 | 站点地图 | SiteMap | uptime查询