会员登录 | 会员注册 | 意见建议 | 网站地图

站长资源综合门户

当前位置:首页 > 站长学院 > 建站经验 > 按时自动备份主机文件到本地 – Dropbox

按时自动备份主机文件到本地 – Dropbox

时间:2012-06-19 20:44:02   作者:   来源:   点击:

前面介绍过,使用Cpanel空间的时钟守护作业(Cron Jobs)按时备份网站文件到异地办事器,今天来个更高级的,按时把网站文件备份到本地,使用Dropbox完全可以实现。

使用美国主机的朋友,一般都很是熟悉Linux,按时自动执行命令是使用Linux的Cron,Cpanel面板上把它翻译为 时钟守护作业。下面是按时自动备份主机文件到本地的具体步调:

1、注册Dropbox

Dropbox官网:https://dropbox

2、登录主机,新建.sh文件

新建backup.sh脚本,复制下面的内容到backup.sh,点击下载脚本。

#!/bin/bash

DROPBOX_USER="Dropbox Email 帐号"

DROPBOX_PASS="Dropbox 密码"

#Dropbox上传目录 默认是dropbox文件夹

DROPBOX_DIR="/dropbox"

#要备份的文件路径

BACKUP_SRC="/home/myuser/public_html"

#姑且目录

BACKUP_DST="/tmp"

MYSQL_SERVER="127.0.0.1"

#mysql用户名

MYSQL_USER="myuser"

#mysql用户密码

MYSQL_PASS="Your MySQL password"

# based on ".***/jiaocheng/backup-to-dropbox/"

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 jike/jiaocheng/backup-to-dropbox/

LOGIN_URL="https://dropbox/login"

HOME_URL="https://dropbox/home"

UPLOAD_URL="https://dl-web.dropbox/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*

# 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"

3、修改权限为755,运行backup.sh

如果是虚拟主机,并且开通了SSH,可使用chmod 755 backup.sh命令修改权限,然后运行backup.sh。

4、使用Cron,按时自动运行backup.sh

Cpanel用户,在时钟守护作业 页面,添加计时法度作业就成!

5、年夜功成功

到现在,Dropbox就是按你设置的周期,自动将主机上面的文件,备份到本地电脑!

原文地址:jike/jiaocheng/backup-to-dropbox/

分享到:

网友评论

热门建站经验