加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

LINUX下备份服务器数据至dropbox的脚本

发布时间:2023-04-24 11:28:31 所属栏目:Linux 来源:
导读:分享一篇国外要定的关于LINUX下备份服务器数据到dropbox的自动备份代码,有需要的朋友参考一下,代码如下:#!/bin/bashDROPBOX_USER=”Your Dropbox username”DROPBOX_PASS=”Your Dropbox password&rd

分享一篇国外要定的关于LINUX下备份服务器数据到dropbox的自动备份代码,有需要的朋友参考一下,代码如下:

#!/bin/bash

DROPBOX_USER=”Your Dropbox username”

DROPBOX_PASS=”Your Dropbox password”

DROPBOX_DIR=”Directory in your dropbox account to store the backups, e.g. /backups”

BACKUP_SRC=”/home /var/www /var/git /etc /root”

BACKUP_DST=”/tmp”

MYSQL_SERVER=”127.0.0.1″

MYSQL_USER=”root”

MYSQL_PASS=”Your MySQL password”

#

# 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 //开源软件:phpfensi.com

}

# Backup files.

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”。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!