码迷,mamicode.com
首页 > Web开发 > 详细

web服务通过rsync对网站进行备份实战

时间:2016-05-04 19:15:41      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:web服务通过rsync对网站进行备份实战

rsync参考博客:http://www.cnblogs.com/mchina/p/2829944.html

分析模型:web服务器(每天00【按日期备份】,打包备份,系统配置文件、网站程序目录及访问日志)------rsync------>B服务器

分析服务需求:主要服务rsync,需要用tar,crond

流程:A),tar打包文件  ----->   B),rsync推送    ------>    C),crond定时执行

步骤:先搭好rsync,写脚本推送tar包,定时执行。


I:Web服务器为rsync客户端,B备份服务器为服务端。

    B服务器:1)安装rsync,yum -y install rsync

                    2)写配置文件,/etc/rsyncd.conf        技术分享

                    3)创建用户组   useradd -g rsync -u 873 -s /sbin/nologin -M

                                              useradd -g rsync -u 873 -s /sbin/nologin -M rsync

                    4)创建模块文件夹和授权  mkdir /backup

                                                              chown -R rsync.rsync /backup/

                    5)创建密码文件和授权    [root@B ~]# vim /etc/rsync.password 

                                                              rsync_backup:oldboy

                                                             [root@B ~]# chmod 600 /etc/rsync.passwrd

                    6)启动rsync服务    rsync  --daemon

                                                             

    Web服务器:1)创建密码文件和授权     [root@Web backup]# vim /etc/rsync.password

                                                                    oldboy

                                                                    [root@Web backup]# chmod 600 /etc/rsync.password

                     

                         2)执行测试命令:rsync -avz /backup/ rsync_backup@192.168.1.81::backup --password-file=/etc/rsync.password

II:本地tar

                    1)网站程序目录/var/www/html/、网站配置目录/etc/httpd/,网站日志/etc/httpd/logs

                    2)写脚本:

[root@Web backup]# vim /Server/scripts/web_backup.sh 

#!/bin/bash

#door write on 2016/5/4 

#backup web throw rsync to B

T=`date +%F`

mkdir /backup/tmp -p

cd /var/

tar -zcf /backup/tmp/httpd_backup_$T.www.tar.gz ./www

cd /etc/

tar -zcf /backup/tmp/httpd_backup_$T.httpd.tar.gz ./httpd

cd /backup/tmp/

tar -zcf /backup/httpd_backup_$T.all.tar.gz ./httpd_backup_$T*

rm -rf /backup/tmp

cd /backup/

rsync -avz httpd_backup_$T.all.tar.gz rsync_backup@192.168.1.81::backup --password-file=/etc/rsync.password

III:定时任务

http://blog.itpub.net/9252210/viewspace-684597/

                          [root@Web backup]# crontab -e

                          ###door write backup web to B### on 2016/5/4:

                          00 00 * * * /bin/bash /Server/scripts/web_backup.sh  >/dev/null 2>&1

                         测试   date -s 2016/4/28

                            有时有少许延时,但没出错

IV:在Web服务端每隔7天,删除七天前的备份

                          [root@Web backup]# crontab -e

                          ###door delete 7 days ago in /backup/

                          00 00 * * * /bin/find /backup/*.tar.gz -mtime +7|xargs rm -rf >/dev/null 2>&1

V:备份服务端每隔7天,删除七天前的备份

//////////////////////////////////////////////////////要用脚本,不要如下A,虽然也没有问题

                       A:[root@B backup]# crontab -e

                          ###door delete 7 days ago in /backup/

                          00 00 * * * /bin/find /backup/*.tar.gz -mtime +7|xargs rm -rf >/dev/null 2>&1


本文出自 “海边的椰子树” 博客,转载请与作者联系!

web服务通过rsync对网站进行备份实战

标签:web服务通过rsync对网站进行备份实战

原文地址:http://door42.blog.51cto.com/8968767/1770122

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!