Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Linux备份到Dropbox的脚本

Linux备份到Dropbox的脚本:#!/bin/bashDROPBOX_USER="email@gmail.com" #Dropbox的账号DROPBOX_PASS="www.linuxidc.com" #Dropbox的密码DROPBOX_DIR="/backups" #Dropbox中的文件夹名称BACKUP_SRC="/home/admin " #需要备份的文件夹路径,可以同时指定多个BACKUP_DST="/root/backup" #用来存放备份的文件夹路径MYSQL_SERVER="127.0.0.1" #连接本地MySQLMYSQL_USER="root" #本地MySQL的用户MYSQL_PASS="www.linuxidc.com" #本地MySQL的密码 ## Stop editing here.NOW=$(date +"%Y.%m.%d")DESTFILE="$BACKUP_DST/$NOW.tgz"mkdir -p $BACKUP_DST## 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} # 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 #这里的时间可以根据需要进行修改