运行Dropox在windows和linux环境下VPS主机的网站备份

本站需要付费内容无需注册,支付宝支付后会8s内立即跳转到下载页面,请付费后及时查看或下载!清除浏览器痕迹可能会导致付费内容查看失效,需重新购买请注意!请及时阅读或复制付费内容!
================
虚拟货源走这里(本站重点是技能学习而非这个):

dropbox是一种同步备份工具,特点是可以保证数据最大程度的同步,特别适用于美国VPS和香港VPS,国内的备份用dropbox是不行的(墙内已经屏蔽了dropbox,你懂的,可以用其他诸如百度网盘来替代)。先来说说windows的备份:
1、先通过windows vps的浏览器访问dropbox的官网:https://www.dropbox.com

2、注册登录后看到开始适用菜单,选择点击“在电脑上安装Dropbox”。

0052

3、开始安装,安装后登录账号,任务栏会浮现一个蓝色盒子图标,那就是dropbox。右击Dropbox,点击首选项,进行设置。

0062

0071

0081

4、常规设置,勾选系统启动时运行,这样可以实时同步。

0092

5、位置是你要备份的文件夹。“选择性同步”选择同步电脑到的文件夹,也就是dropbox的位置。待会要介绍的linux跟windows不同,涉及到三个文件夹,一个是要备份的文件,一个是dropbox上的备份文件夹,linux还有一个dropbox备份到linux中的文件(在linux中)

0102

0112

6、附带稍微介绍一下dropbox的直链(也是是共享)。首先要文件菜单中选择需要共享的文件或文件夹。

 

 

0012
7、文件后面有个锁链图标点击它,即生成了共享链接。生成的共享链接还可在共享菜单中见到。

0022

0032

0042

linux的备份:

#随便找个地方,存放backup.sh,比如我:
#cd /home/wwwroot/到这里来放置这个shell script
vi backup.sh
#粘贴上代码后
chmod +x backup.sh
#因为授予了权限,所以直接运行即可:
./backup.sh
#接着设置定时任务,可以man crontab自己看看具体用法
$ crontab -e
# m h  dom mon dow   command
#这里分别对应minute hour 'day of month' month 'day of week'
#下面这行,意思就是每月第一天备份
0 0 1 * *       /bin/bash /home/wwwroot/backup.sh

backup.sh中的代码如下所示:

#!/bin/bash
DROPBOX_USER="Your Dropbox username"   #dropbox账号
DROPBOX_PASS="Your Dropbox password"   #dropbox密码
DROPBOX_DIR="Directory in your dropbox account to store the backups, e.g. /backups" #dropbox中存放备份的文件夹
BACKUP_SRC="/home /var/www /var/git /etc /root" #VPS中需要备份的目录
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 https://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/.*
]*>\s* 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. 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”

Related Posts:

  • No Related Posts

Leave a Comment

*

code