Linux备份到Dropbox的脚本

Linux备份到Dropbox的脚本:

#!/bin/bash DROPBOX_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" #连接本地MySQL MYSQL_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 ?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" 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 #这里的时间可以根据需要进行修改

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswyp.html