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