首 页 » VPS管理维护 » VPS上使用DropBox定时备份方案

VPS上使用DropBox定时备份方案

2012-04-24 | 浏览人数: 7,307次 | 分类: VPS管理维护 | 4条评论 | 查看评论 发表评论

这个备份方案是直接使用dropbox同步,如果想实时同步就一直守护dropbox进程,会占用一定资源。推荐小内存VPS的同学和deepvps一样使用cron定时备份。

1.linux上安装dropbox

32位linux

wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86

64位linux

wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64

解压:

tar xzvf dropbox.tar.gz

第一次运行生成host_id

~/.dropbox-dist/dropboxd &

生成id后,将host_id替换下面链接后面的字符在浏览器打开,输入你的帐号密码就绑定机器了.

https://www.dropbox.com/cli_link?host_id=XXXXXXXXXXXXXXXXXXX

2.建立连接备份网站

正式开始同步你的网站,通过ln软链接你所有要备份的目录,例如:

cd ~/Dropbox
ln -s /home/wwwroot/html
ln -s /home/wwwroot/htdocs
...

开始运行同步,美国的vps同步速度非常快的,1G的html文件,只花了几分钟全部同步完成

~/.dropbox-dist/dropboxd &

3.为了节省资源,可以不使用实时同步,只定时打开同步一天的文件再关掉以节省资源。

先关掉同步:

killall dropbox

编写定时同步脚本:

vi backup.sh

代码如下:

#!/bin/sh
start() {
echo starting dropbox
/root/.dropbox-dist/dropboxd &
}
stop() {
echo stoping dropbox
pkill dropbox
}
case “$1″ in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
esac

定时运行和关闭:

chmod +x backup.sh
crontab -e

每天4点开始同步,5点关闭同步.
其实一般每天更新数据不多不用打开这么长时间,我自己用的一天只打开10分钟,这个根据各人每天更新的数据量自己来设置。

0 4 * * * sh /root/backup.sh restart

0 5 * * * sh /root/backup.sh stop

4.干脆把我从网上找的备份数据库的脚本一并贡献出来,适合懒人使用

vi bakmysql.sh

脚本如下:

#!/bin/bash
DBName=修改为数据库名
DBUser=修改为数据库用户名
DBPasswd=修改为数据库密码
BackupPath=/root/Dropbox/
LogFile=/root/db.log
DBPath=/usr/local/mysql/var/ #备份的数据库目录
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar

NewFile=”$BackupPath”db$(date +%y%m%d).tgz
DumpFile=”$BackupPath”db$(date +%y%m%d)
OldFile=”$BackupPath”db$(date +%y%m%d –date=’5 days ago’).tgz #自动删除5天前的备份
echo “——————————————-” >> $LogFile
echo $(date +”%y-%m-%d %H:%M:%S”) >> $LogFile
echo “————————–” >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo “[$OldFile]Delete Old File Success!” >> $LogFile
else
echo “[$OldFile]No Old Backup File!” >> $LogFile
fi
if [ -f $NewFile ]
then
echo “[$NewFile]The Backup File is exists,Can’t Backup!” >> $LogFile
else
case $BackupMethod in
mysqldump)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser –opt $DBName > $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd –opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo “[$NewFile]Backup Success!” >> $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo “[$NewFile]Backup Success!” >> $LogFile
rm -rf $DumpFile
;;
*)
service mysql stop >/dev/null 2>&1
tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
service mysql start >/dev/null 2>&1
echo “[$NewFile]Backup Success!” >> $LogFile
;;
esac
fi
echo “——————————————-” >> $LogFile

5.删除卸载dropbox方法:

killall dropbox
rm -rf .dropbox .dropbox-dist Dropbox dropbox.tar.gz dbmakefakelib.py dbreadconfig.py

原创文章如转载,请注明:转载自深度VPS [ http://www.deepvps.com ]
[复制本文链接发送给您的好友]
  • 上一篇:
  • 下一篇:
  • 日志信息 »

    该日志于2012-04-24 22:14由 deepvps 发表在VPS管理维护分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

    相关日志 »

    共有4条评论 [点此发言]

    1. 1楼 smartweb 2012年04月25日 21:41

      看来也只有这个才能在text下实时备份了

      [回复]

    2. 2楼 使用dropbox为VPS做定时备份和存储 | 203教室 2012年05月8日 16:02

      [...] dropbox在国内首页已经打不开了,估计用不了多久就会彻底墙掉。国内兴起的网盘里面,云诺有Linux客户端(可惜不支持软链接)。网上很容易找到《VPS上使用DropBox定时备份方案》,按照教程: 先进入tmp目录 [...]

    3. 3楼 加拿大百科 2014年03月22日 23:31

      百度网盘有api接口 建议楼主写个介绍文章,国内的还快 百度空间大.这种美国网盘被强 也不是 正 治原因 微软的也被电信强了 中国的国际接口就那么点 大家都用美国网盘的化 网速会受影响

      [回复]

      deepvps 2014年03月24日 21:44 回复:

      嗯,回头去看看

      [回复]

    发表评论 »

    = 8 + 11 (防止机器人评论)

     疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人