rsync+crond企业实战案例

【DB 数据同步,带宽占满,导致用户无法上网
rsync scp ftp 限速功能。主要提一下rsync –bwlimit(限速)】
下面进入正题:

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

具体要求如下
1) web服务器A和备份服务器B的备份目录必须都为/backup
2) web服务器站点目录假定为(/var/www/html)
3) web服务器本地仅保留7天内的备份
4) 备份服务器上检查备份结果是否正常,并将每天的备份结果发给管理员信箱。
5) 备份服务器上每周六的数据都保留,其他备份仅保留180天备份。

  1. 需要备份的文件或目录有(原则上,只要是运维人员写入或更改的数据,都需要备份):
    /var/spool/cron/root 、/etc/rc.local、/etc/sysconfig/iptables、/var/www/html、/app/logs
  2. 为了规范化,每台服务器进行本地备份时都备份到/backup目录下。
  3. 每台web服务器进行本地备份时,都备份到/backup下以本机IP地址命名的目录中。
  4. 打的tarball文件名中需要包含执行当天的日期
  5. 统一存储备份数据的服务器通过rsync daemon方式提过存储备份数据的目录/backup
  6. 由于web服务器本地的存储空间有限,需要将超过7天的备份数据删除
  7. 为了方便的知道每次备份是否成功,我们需要如下操作:
    在每台web服务器上检查备份是否成功
    在存储备份数据的服务器上检查备份数据是否推送成功,并发送邮件至管理员邮箱
  8. 由于备份服务器空间有限,需要删除超过180天的备份数据,但每周六的备份数据需要永久保留。

具体实施:

  1. 在rsync服务器上,配置rsync服务,实现推送。
    a. 安装rsync服务,yum -y install rsync
    b. 添加rsync服务的用户,管理本地目录 useradd -s /sbin/nologin -M rsync id rsync
    c. 生成rsyncd.conf配置文件。具体配置项
    uid = rsync
    gid = rsync
    use chroot =no
    max connections=200
    timeout = 300
    pid file = /var/run/rsync.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    ignore error
    read only = false
    list = false
    hosts allow =192.168.1.0/24
    hosts deny = 0.0.0.0/32
    auth users =rsync_backup
    secerts file =/etc/rsync.passwd
    [backup]
    comment =
    path = /backup
    d. 创建备份目录,mkdir /backup ,并设置目录属主属组 chown -R rsync:rsync /backup
    e. 创建虚拟用户密码文件 echo “rsync_backup:123456” >/etc/rsync.passwd
    设置文件权限 chmod 600 /etc/rsync.passwd
    f. 启动rsync服务并检查 rsync --daemon
    ps -elf | grep rsync | grep -v grep
    netstat -lnpt | grep rsync
  2. 在客户端nfs服务器上,实现打包、推送、删除,定时推送。
    a. 安装rsync服务 yum -y install rsync
    b. 创建密码文件 echo “123456” >/etc/rsync.passwd
    授予相应权限 chmod 600 /etc/rsync.passwd
    c. 推送 (测试)
    rsync -avz /tmp [email protected]::backup –password-file=/etc/rsync.passwd
    d. 拉取 (测试)
    rsync -avz rsync[email protected]::backup /tmp --password-file=/etc/rsync.passwd
    e. 创建shell脚本实现打包,推送,删除
    vim /server/scripts/bak.sh
    #!/bin/bash
    IP=$(ifconfig eth1 | awk -F “[ :]+” ‘NR==2 {print $4}’ 【过滤web服务器ip地址】
    Path=/backup
    if [ $(date +%w) -eq 0 ]
    then
    Time=”week
    $(date +%F%w -d “-1day”)”
    else
    Time=$(date +%F -d “-1day”)
    fi
    mkdir -Path/$IP/ -p
    cd / &&\
    tar zcfh $Path/$IP/backup
    $Time.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs &&\
    md5sum $Path/$IP/backup$Time.tat.gz >$Path/$IP/flag$Time.log &&\
    rsync -az $Path/ [email protected]::backup --password-file=/etc/rsync.passwd &&\
    find /backup/ -type f -mtime +7 ! -name “week_6” |xargs rm -f 【查找/backup目录下七天前的不包含周六的文件并删除】
    f. 将上述脚本放入crond中每天24点执行
    echo “00 00
    /bin/sh /server/scripts/bak.sh >/dev/null 2>&1” >/var/spool/crond/root
    crontab -l 【查看】
  3. 在rsync备份服务器上做检查,发邮件给管理员。
    配置脚本 vim /server/scripts/bak.sh
    #!/bin/bash
    Path=/backup
    if [ $(date +%w) -eq 0 ]
    then
    Time=”week$(date +%F%w -d “-1day”)”
    else
    Time=$(date +%F -d “-1day”)
    fi
    LANG=en
    find $Path -type f -name ”${Time}.log|xargs md5sum -c >> $Path/${Time}_result.log 2>&1
    【找出当天推送的文件并校验它的md5值,判断文件是否有问题】
    mail -s “$Time bak result” [email protected]<$Path/${Time}_result.log
    find $Path -type f -mtime +180 ! -name “week_6*” |xargs rm -f
    【找出备份目录下180天前,不包含周六的文件并删除】

将脚本放入crontab中定时执行
echo “00 05 */bin/sh /server/scripts/bak.sh >/dev/null 2>&1” >>/var/spool/crond/root
crond -l 【查看】

发送邮件补充:发送 smtp 25
接受 pop3 110

配置mail使用外部SMTP发邮件

a. 通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail/posfix等内部邮件服务而用外部的smtp服务器发送邮件。
修改/etc/mail.rc最后一行加入
set [email protected] smtp=smtp.163.com smtp-auth-user=zhangsan
smtp-auth-password=123456 smtp-auth=login
【from是发送的邮件地址
smtp 是发生的外部smtp服务器的地址
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的密码
b. 模拟检查备份文件 执行备份服务器的脚本,查看邮件能否发送。
先在客户端模拟推送从4月25到30号的数据到备份服务器
seq 25 30|awk ‘{print “date -s 201804”$0“&&/bin/sh /server/scripts/bak.sh”}‘|bash
再在备份服务器执行脚本 sh /server/scritps/check_and_del.sh
mailq 查看邮件队列 最后在配置的邮箱[email protected]中查看邮件是否发送。

原文地址:http://blog.51cto.com/13588698/2152862

时间: 2024-08-08 22:29:45

rsync+crond企业实战案例的相关文章

rsync+nfs企业实战案例

某公司里有一台NFS服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他 机器上做一个周期性定时备份.要求如下: 每天晚上00点整在NFS服务器nfs01上打包备份网站程序目录等并通过rsync命令推送到备份服务器backup上备份保存(备份思路 可以是先在本地按IP地址+日期打包,然后再利用rsync推送到备份服务器上). 具体要求如下: 1)NFS服务器nfs01和备份服务器backup的备份目录必须都为/backup: 2)NFS服务器站点目录假定为(/va

(转)awk数组详解及企业实战案例

awk数组详解及企业实战案例 原文:http://www.cnblogs.com/hackerer/p/5365967.html#_label03.打印数组:1. [[email protected] test]# awk 'BEGIN{array[1]="zhurui";array[2]="zhuzhu";for(key in array) print key,array[key]}'2. 1 zhurui3. 2 zhuzhu4. [[email protect

企业实战案例一:自建出口流量清洗服务器

自制异常流量清洗设备 目录: 1.环境介绍 2.网络结构 3.清洗原理 4.脚本实现 4.1 脚本结构介绍 4.2 awk获取异常IP地址 4.3 tcpdump获取异常协议 4.4 反向攻击抑制恶意意图 5.软件实现 6.定制Linux系统 一.环境介绍    国内互联网规模已在世界互联网的地位遥遥领先,各行各业的产生的数据正在快速速度增长,因此给互联网行业.传统企业.IDC机房等带来安全方面的威胁,如企业机房服务器或数据中心遭受异常流量攻击等,在传统的方案和传统的网络架构中采用传统的安全公司

rsync+nfs+sersync实战案例

回顾: 1.rsync 统一备份各个服务器的配置文件或重要文件 系统配置文件 日志文件 系统日志文件 messages.secure.cron 服务日志文件 access_log.access.log 服务配置文件 /etc/rsyncd.conf./etc/exports... 2.NFS 网络文件系统,提供共享存储服务3.sersync提供实时同步服务 实验组合: 1.rsync 实验环境: rsync服务器 rsync客户机 实验需求: rsync服务器提供同步模块,rsync客户端可以通

18道Shell高级编程企业实战题及参考答案(一)

Shell高级编程企业实战题参考解答 ########################################################################### 让我们一起感谢,本文内容答案完全来自老男孩教育的学生-张耀课前上机考试解答! ########################################################################### 目录: 1.监控MySQL主从同步... 1 2.批量创建文件及改名... 3

shell高级编程企业实战题编程---是骡子是马 牵出来溜溜!

企业合格的linux运维必会编程题,能独立完成的同学就业工资不会低于10K 这是老男孩linux运维班要求学生必会的题目,完不成的不能合格毕业,每个完成的都奖励价值500-1000元的等值礼物(以当天考试成绩宣布为准),要进要退自己抉择,伙伴们走起! 实战考试时间就在2015年4月15日上机实战,禁止大面积抄袭学习课堂笔记否则无奖励!共18道考试题,面授上课几乎全部讲解过类似的案例,考试题略微变更而已. 企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件

利用shell解决企业实际问题案例实践

已知老男孩IT教育的某一周的财务招生费用报表如下: 学号 学生 提层 所交费用 欠费 课程顾问 1 葛毅 1500 13100 0 歪歪 2 罗嘉毅 1500 13000 0 丹丹 3 吴星 500 15000 0 歪歪 4 臧阔 500 3200 0 雨神 5 陈吉 500 7500 0 歪歪 6 朱明 500 15000 0 雨神 7 雷林 100 3000 0 丹丹 8 陈恩林 100 5300 0 歪歪 9 张林坤 300 3200 0 雨神 10 梁宇 80 2500 0 雪神 11

《Web渗透技术及实战案例解析》pdf

下载地址:网盘下载 内容简介 编辑 本书从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程.本书共分7章,由浅入深地介绍和分析了目前网络流行的Web渗透攻击方法和手段,并结合作者多年的网络安全实践经验给出了相对应的安全防范措施,对一些经典案例还给出了经验总结和技巧,通过阅读本书可以快速掌握目前Web渗透的主流技术.本书最大的特色就是实用和实战性强,思维灵活.内容主要包括Web渗透必备技术.Google黑客技术.文件上传渗透技术.SQL注入.高级渗透技术.0day

Mysql企业实战

==========================业务垂直分割:1>介绍说明: 随着公司的业务规模扩展,DBA需要根据企业数据业务进行切割,垂直切割又称为纵向切割,垂直数据切割是根据企业网站业务.产品进行切分,比如:用户数        据.博客文章数据.照片数据.标签数据类型.群组数等等,每个业务都独立的分库分表进行切割. 如果一个应用只针对单纯的业务功能模块,那么可以直接连接相应       的被垂直切分的数据库,但是有些复杂的应用需要利用到相当多的业务数据,甚至牵扯到所有业务数据那么垂直