事先准备dropbox帐号一个是必须的,dropbox国内是被封了,这个大家都知道。大家使用下面的链接保证直接可以注册,而且不用挂代理
点击我打开注册页面
注册好以后记得安装dropbox客户端到电脑,后面用的到
版本一:
新建一个脚本:
vi dropbox.sh
复制下面的内容,中文注释的地方注意自定义:
- #!/bin/bash
- DROPBOX_USER=”dropbox邮箱帐号”
- DROPBOX_PASS=”dropbox密码”
- #dropbox上传目录 默认是dropbox文件夹
- DROPBOX_DIR=”/dropbox”
- #要备份的文件路径
- BACKUP_SRC=”/home /var/www /var/git /etc /root”
- #临时目录
- BACKUP_DST=”/tmp”
- MYSQL_SERVER=”127.0.0.1″
- #mysql用户名
- MYSQL_USER=”root”
- #mysql用户密码
- MYSQL_PASS=”Your MySQL password”
- # based on http://davehope.co.uk/Blog/backup-your-linux-vps-to-dropbox/
- # based on https://github.com/andreafabrizi/Dropbox-Uploader
- 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 ’
’ | 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
- }
- #mysql数据库备份
- mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS –all-databases > “$NOW-Databases.sql”
- #压缩
- tar cfz “$DESTFILE” $BACKUP_SRC “$NOW-Databases.sql”
- #上传
- dropboxUpload “$DESTFILE” “$DROPBOX_DIR”
- rm -f “$NOW-Databases.sql” “$DESTFILE”
然后给脚本权限:
chmod 755 dropbox.sh
然后执行./dropbox.sh 运行测试,如果出现如下提示表示成功:
> Logging in… OK
> Loading Home… OK
> Uploading ’/tmp/2012.03.25.tgz’ to ’DROPBOX/dropbox/’… OK
这时登录你的dropbox帐号,发现dropbox文件夹内已经有了类似2012.03.30.tgz文件。
然后再来个crontab定时执行脚本。
把数据拿到自己的电脑上只需要安装dropbox客户端,然后就可以了。
- 最新
- 最热
只看作者