叶雨梧桐BLOG

VPS学习之路14---LINUX安全之数据备份

发布时间:2013年8月13日 / 分类:VPS教程 / 吐槽

今天是农历的七月初七七夕节,像叶雨这样没妹纸爱的孩子,只能在家看教程,整理数据了。

神啊,赐我个妹子吧~~~~~

闲话不多说了,经过前几次失败的建站经历,明白了数据的备份才是保证安全的王道。所以,今天就试试给LINUX vps 建立定时备份。

经过三个小时的实践,终于配置好了,以下是具体操作流程

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

 

第一次运行

~/.dropbox-dist/dropboxd 

 

运行完后在SSH上会出现一个链接,把它复制下来,在本地浏览器中打开,登陆上自己的dropbox帐号

2.建立连接备份网站
正式开始同步你的网站,通过ln软链接你所有要备份的目录

cd ~/Dropbox
ln -s /home/wwwroot
 

开始运行同步

~/.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点关闭同步.

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

 

数据库备份脚本

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 21
        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 21
                echo "[$NewFile]Backup Success!"  $LogFile
                rm -rf $DumpFile
                ;;
        mysqlhotcopy)
                rm -rf $DumpFile
                mkdir $DumpFile
                if [ -z $DBPasswd ]
                then mysqlhotcopy -u $DBUser $DBName $DumpFile  $LogFile 21
                else mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile $LogFile 21
                fi
                tar czvf $NewFile $DumpFile  $LogFile 21
                echo "[$NewFile]Backup Success!"  $LogFile
                rm -rf $DumpFile
                ;;
        *)
                service mysql stop /dev/null 21
                tar czvf $NewFile $DBPath$DBName  $LogFile 21
                service mysql start /dev/null 21
                echo "[$NewFile]Backup Success!"  $LogFile
                ;;
        esac
fi
echo "-------------------------------------------"  $LogFile

 

以上,就是配置vps备份的全部步骤,虽然我写的很详细,但是建议在测试机上多配置几遍,再在网站vps上使用。

标签:备份, dropbox

版权声明:除特殊注明外,均由叶雨梧桐原创,转载请保留文章出处;
本文链接:http://gt520.com/vps/23.html
订阅叶雨梧桐BLOG RSS
分类
最新文章
最近回复
  • 啊啊: 如果对象是隐藏的话还是不行
  • 通古思: PHP是世界上最好的语言!
  • 森七: 想转去ty,收藏了贵站肯定会用到 make
  • 寻芜兮: 博主您好,您写的《Xshell 进行科学上网的正确姿势》中图片已经挂掉了,可以再补档一次吗。
  • 天津网站建设: 感谢博主分享
  • 博客大全: 钻研精神会让你学到更多,加油!
  • 麦麦米: 不错的文章呢
  • 薇洛迪兰: 应该是服务器的问题吧
  • 关于我们: 弱弱的问下博主,接受友情链接吗?
  • 今日头条: 文章不错非常喜欢
归档