rsync全网备份项目

具体要求:
1,所有服务器(定时任务,开机自启动,日常脚本目录,防火墙配置文件),tar包到/backup目录,再推送到备份服务器
2,web服务器站点tar包到/backup目录(假定为:/var/www/html/),再推送到备份服务器,
3,web服务器访问日志tar包到/backup目录(假定为:/var/log/),再推送到备份服务器
4,所有本地tar包保留时间为7天,备份服务器上保留6个月
5,备份服务器上按照备份数据的主机名+ip为目录的形式保存,要求所有tar包按时间名保存

#服务器配置
[[email protected]]# yum -y install rsync

[[email protected] yum.repos.d]# cat /etc/rsyncd.conf
#rsync_config
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /backup
ignore errors
read only = false
list = false
hosts allow = 192.168.44.0/24
hosts deny = 0.0.0.0/32
auth users = rsync
secrets file = /etc/rsync.password

[[email protected] ~]# useradd rsync -s /sbin/nologin -M #创建用户,不登录系统
[[email protected] ~]# rsync --daemon #启动rsync服务

[[email protected] ~]# mkdir /backup #创建共享目录
[[email protected] ~]# chown -R rsync.rsync /backup/ #权限给rsync
[[email protected] ~]# chmod -R 755 /backup #设置目录权限

[[email protected] ~]# echo "rsync:yehaixiao" /etc/rsync.password #创建密码文件
[[email protected] ~]# chmod 600 /etc/rsync.password #设置文件的权限

[[email protected] ~]#mkdir -p /srv/scripts/
[[email protected] ~]#mkdir -p /srv/bak-erroe-log/

[[email protected] /]# /etc/init.d/postfix start
[[email protected] /]# chkconfig postfix on

#服务器脚本内容
[[email protected] scripts]# cat checkbak.sh #md5sum验证数据,并发邮件
#/bin/sh
find /backup/ -type f -name "flag_$(date +%F).txt" |xargs md5sum -c |grep FAILED >> /srv/bak-erroe-log/erroe$(date +%F).log

mail -s "$(date +%U%T) bakcup" root < /srv/bak-erroe-log/erroe$(date +%F).log

[[email protected] scripts]# cat 180daydel.sh #删除备份服务器上备份目录,超过180的tar.gz包
#/bin/sh
find /backup/ -type f -name "*.tar.gz" -mtime +180 |xargs rm -f

[[email protected] scripts]# crontab -l
/5 /usr/sbin/ntpdate -u m01 >/dev/null 2>&1
00 00
/bin/sh /srv/scripts/checkbak.sh >/dev/null 2>&1
00 00 * /bin/sh /srv/scripts/180daydel.sh >/dev/null 2>&1

#客户端配置
[[email protected] ~]# yum install rsync -y
echo "yehaixiao" >/etc/rsync.password #“yehaixiao”为密码
[[email protected] ~]# chmod 600 /etc/rsync.password #设置文件的权限
[[email protected] ~]# mkdir /backup #本地用来打包的目录,然后rsync推送

#客户端rsync推送命令
rsync -avz --password-file=/etc/rsync.password /backup/ [email protected]::backup

#客户端脚本内容
[[email protected] scripts]# cat backup.sh
#!/bin/sh
#backup
hostn=$(hostname)
ip=$(grep -i ipaddr /etc/sysconfig/network-scripts/ifcfg-eth0|awk -F "=" ‘{print $2}‘)
Path="/backup/$hostn-$ip"
mkdir -p /$Path

#tar
tar zcf /$Path/www$(date +%F).tar.gz /var/www/html/ &&\
tar zcf /$Path/log$(date +%F).tar.gz /var/log/ &&\
tar zcf /$Path/conf$(date +%F).tar.gz /var/spool/cron/root /etc/rc.local /etc/sysconfig/iptables /srv/scripts/ &&\

find /$Path/ -type f -name "$(date +%F).tar.gz"|xargs md5sum > /$Path/flag_$(date +%F).txt
rsync -avz --password-file=/etc/rsync.password /backup/ [email protected]::backup
find /backup/ -type f -name "
.tar.gz" -mtime +7 |xargs rm -f

[[email protected] scripts]# crontab -l
/5 /usr/sbin/ntpdate -u m01 >/dev/null 2>&1
00 00
/bin/sh /srv/scripts/backup.sh >/dev/null 2>&1

原文地址:http://blog.51cto.com/yehaixiao/2095213

时间: 2025-01-09 16:45:25

rsync全网备份项目的相关文章

linux 全网备份项目

linux全网备份项目 要求 1.基本备份要求 已知 3 台服务器主机名分别为 web01.backup .nfs01,主机信息见下表: 服务器说明 外网IP(NAT) 内网IP(NAT) 主机名称      nginx web 服务器 10.0.0.8/24 172.16.1.8/24 web01 NFS存储服务器 10.0.0.31/24 172.16.1.31/24 nfs01 rsync备份服务器 10.0.0.41/24 172.16.1.41/24 backup  要求:每天晚上 0

rsync全网备份

要求: 1.基本备份要求已知3 台服务器主机名分别为web01.backup .nfs01,主机信息见下表:服务器说明外网IP(NAT) 内网IP(NAT) 主机名称nginx web 服务器10.0.0.8/24 172.16.1.7/24 web01NFS 存储服务器10.0.0.31/24 172.16.1.31/24 nfs01rsync 备份服务器10.0.0.41/24 172.16.1.41/24 backup要求:每天晚上00 点整在Web 服务器上打包备份系统配置文件.网站程序

rsync 全网备份

rsync全网备份 1.首先检查服务器中是否有rsync服务 查看方式使用rpm -qa|grep "rsync" 进行查看是否已存在, 如果不存在就是用yum install rsync -y 进行下载安装 2.将备份服务器端的rsync进程启动. 启动方式:rsync --daemon 然后进行查看进程是否开启 ps -ef |grep "rsync" 3.创建虚拟用户reync,并不指定家目录 创建方式 useradd -s /sbin/nologin/ -M

linux运维、架构之路-全网备份项目方案

1.项目需求说明 某公司有多台服务器,里面的数据很重要,如果磁盘坏了,数据就会丢失,所以公司要求把重要服务器数据备份以便出现问题时可以进行恢复,要求:每天晚上00点整在所有服务器上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送备份服务器backup上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器backup上) 2.具体需求规划 所有服务器的备份目录必须一致 /backup/ 要备份的系统配置文件包括但不限于: 一.定时任务服务器的配置文件(/var/sp

全网备份项目解决方案实例

大规模集群全网备份案例 项目要求:1.需要备份的文件或目录有(原则上,只要是运维人员写入或更改的数据,都需要备份):/var/spool/cron/root /etc./rc.local /etc/sysconfig/iptables /var/www/html /app/logs2.为了规范化,每台web服务器进行本地备份时都本分到/backup目录下3.每台web服务器进行本地备份时,都备份到backup下以本机IP地址命名的目录中4.打的tar包文件名中需要包含执行当天的日期5.统一备份数

公司实现全网备份项目:(rsync+定时任务)

企业案例:rsync实战: web01 10.0.0.7 backup 10.0.0.41 某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份.要求如下: 每天晚上12点整在Web服务器A(web01 )上打包备份网站程序目录并通过rsync命令推送到服务器B(backup)上备份保留 (备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上). rsync守护进程模式 定时任务 (脚本) 具体要求如

rsync 全网备份企业案例

某公司里有一台web服务器,里面的数据很重要,但是如果硬盘花了,数据就会丢失,现在领导要求你把数据在其他的服务器上做一个周期性定时备份,要求如下: 每天晚上00点钟在web服务器A上打包备份网站目录并通过rsync命令推送到服务器B上备份保留(备份思路可以是按日期打包,然后再推到备份服务器上.) 具体要求如下 1.    web服务器A和备份服务器B的备份目录必须都是/backup 2.    web服务器站点目录假定(/var/www/html) 3.    web服务器本地仅保留7天内的备份

基础全网备份项目解决方案

要求:每天晚上0点整在web服务器上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送到备份服务器backup上存入IP地址目录备份保留(备份文件带上时间信息与星期几),最后生成数据指纹信息比对后发送到邮箱 a) 定时任务服务的配置文件 (/var/spool/cron/root) (适合web和nfs服务器). b) 开机自启动的配置文件 (/etc/rc.local) (适合web和nfs服务器). c) 日常脚本的目录 (/server/scripts). d) 防火墙i

Rsync 网站全网备份

某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据做备份,这样Web服务器数据丢失可以进行恢复.要求如下: 每天晚上00点整在Web服务器A上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送到服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器B上). 问题一.实现把Web服务器A数据备份到服务器B. 具体要求如下: 1)Web服务器A和备份服务器B的备份目录必须都为/backup. 2)系统配置文件包括但