CentOS使用Dropbox同步备份VPS方案详解-vps教程
CentOS系统的VPS备份方案有多种,可以使用rsync远程同步,手动备份,其中使用Dropbox的同步进行备份是比较方便的一种方案。不需要额外的备份服务器,还能自动进行同步,防止人工失误的情况。下面是vps教程系列之备份的详细过程。
1.在vps主机上安装dropbox
32位:
cd ~;wget -O - "http://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
64位
cd ~;wget -O - "http://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
执行完后会在用户目录生成.dropbox-dist文件夹
2.绑定vps主机到dropbox账号
#~/.dropbox-dist/dropboxd &
运行dropbox的守护进程,第一次执行会生成“host_id”,这机器与Dropbox进行绑定的唯一字符串,提示的信息是一个链接,而且会重复滚动出现直到绑定完成。复制这个链接在浏览器里访问,输入Dropbox帐户和密码就可以了,输入后会自动跳转到Dropbox主界面并且会有绑定成功的提示。
3.在用户建立Dropbox目录,目录里的内容会自动同步到dropbox空间
#ln -s /var/www/html ~/Dropbox
建立网站目录的软连接,注意D要大写,之后就会同步html目录的全部内容了
4.定时同步,节约服务器资源,使用shell脚本+crontab
建立脚本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
增加执行权限,使用backup.sh start启动dropbox;backup.sh stop停止dropbox
#crontab -e
增加crontab规则,定时打开dropbox进行同步
0 4 * * * sh /root/backup.sh restart
0 5 * * * sh /root/backup.sh stop
每一段使用空格或者tab分隔,前面五段的意思分别是 分钟,小时,日,月,星期,后面是执行的命令
上面两行表示每天4点启东dropbox;每天5点结束dropbox;一个小时同步时间一般足够了
5.数据库的备份
#!/bin/bash
DBName=修改为数据库名
DBUser=修改为数据库用户名
DBPasswd=修改为数据库密码
BackupPath=/root/Dropbox/dbak/
LogFile=/root/db.log
DBPath=/usr/local/mysql/var/ #备份的数据库目录
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tarNewFile="$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以上是备份脚本,记得加上执行权限,然后使用crontab定时执行
以上是使用dropbox进行vps备份的过程,如果有还没注册dropbox的,可以点这个链接进行注册http://db.tt/xLUwGU4b,你和我都将获得额外500M的空间。
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!