Day41-rsync企业备份项目实战收尾结束

1. xshell连接不上虚拟机(从好到不好啥也没动)后的解决办法

  1. 重启windows vnet8网卡
  2. 还原虚拟编辑器设置

2. 备份脚本(见课堂笔记备份文件)

3. 故障报警方式:

  1. 邮件(转手机)
  2. 微信、钉钉(手机)
  3. 电话(手机)

4. 总结企业linux运维场景数据同步方案:

  1. 文件级别同步方案(复制文件)
    scp,Nfs,Sftp,http,samba,rsync
    链接: http://oldboy.blog.51cto.com/2561410/775056
  2. 文件系统级别同步
    drbd(基于文件系统同步网络RAID1),复制block(备用节点不可用状态)
    链接: http://oldboy.blog.51cto.com/2561410/1240412
  3. 数据库同步方案
    ​文件级别也可以利用mysql,mongodb等软件。
    ​mysql replication
    ​oracle dataguard(物理的,逻辑的)。

5. 重启rsync组合命令,以及杀进程命令汇总说明:

rsync --daemon  #←启动rsync服务
[root@backup /]# systemctl stop rsyncd
[root@backup /]# lsof -i :873
[root@backup /]# rsync --daemon
[root@backup /]# lsof -i :873
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsync   1587 root    3u  IPv4  25628      0t0  TCP *:rsync (LISTEN)
rsync   1587 root    5u  IPv6  25629      0t0  TCP *:rsync (LISTEN

检查启动的进程

ps -ef|grep rsync   #←检查rsync服务

pkill rsync                            ---关闭rsync服务,加进程名字,即通过进程名称杀掉进程
pkill program name(ps -ef)

killall rsync                           ---根据进程的名称,以比较平滑的方式杀死进程
killall program name

kill -进程(-9表示强制杀)               ---常用的杀进程命令,可以加进程号,其中-9参数表示强制杀掉进程(不推荐使用)
kill pid(-9 不要使用这个参数)
kill -HUP  `cat /var/run/rsyncd.pid`   ---HUP表示利用kill命令,平滑杀进程
kill -USR2 `cat /var/run/rsyncd.pid`   ---USR2表示利用kill命令,平滑杀进程
kill  `cat /var/run/rsyncd.pid`

C7:
systemctl start rsyncd

6. rsync专家级排错思想:

  1. iptables firewall防火墙和selinux
  2. 学会看日志,rsync命令行输出,日志文件/var/log/rsyncd.log。
  3. 整个部署流程整体考虑排查。rsync原理理解
  4. 操作习惯当做一个大事。
  5. 模拟排错:故意把一个正确的步骤搞错
  6. 执行命令后,看输出。

补充:

排错能力练习:

  1. 模拟错误(两个人一个人搞错了,一个人排错),重视日常错误。
  2. 服务端无共享目录错误;

框架:

  1. 部署流程、原理。
  2. 操作的时候操作前备份、操作后检查。

windows脚本notepad++打开,拷贝到linux下可能会出现问题:
解决办法:默认执行 dos2unix 脚本名

数据备份项目实战(项目管理思路):

  1. 做规范专业项目文档、画逻辑图,提交老大审核。
    关键时刻和老大回报进度,关键点请老大审核。
  2. 解题思路*****
    剧本:
  • 1.搭建backup服务器
    • rsync服务 -->ok
  • 2.搭建web01服务器
    • 验证rsync服务能否推送成功–>ok
    • 开发脚本实现打包、备份、推送、校验、删除。–>ok
    • 配置定时任务每天00点定时推送。–>ok
  • 3.backup服务器
    • 开发脚本实现校验、删除、报警(ok)。
    • 配置定时任务每天6点定时执行。
  • 4.同理搭建存储nfs01 -->ok
  1. 项目实施
  2. 验收。
  3. 写总结提交领导
  4. 员工培训

Rsync 企业级应用经验
Rsync 排错思路

  • 排错必备思想:要对部署流程步骤掌握熟练,熟悉 rsync 数据同步原理,并且要学会多看日志,rsync 命令行输出日志文件为/var/log/rsyncd.log。
  • 排错能力练习:模拟错误(两个人一个人搞错了,一个人排错),重视日常错误总结。

7. Rsync 服务端排错思路

  1. 查看rsync服务配置文件路径是否正确,正确的默认路径为:/etc/rsyncd.conf
  2. 查看配置文件里host allow,host deny,允许的ip网段是否是允许客户端访问的 ip 网段。
  3. 查看配置文件中path参数里的路径是否存在,权限是否正确(正常应为配置文件中的UID参数对应的属主和组)。
  4. 查看rsync服务是否启动。查看命令为:ps -ef l grep rsync。端口是否存在 netstat -Int | grep 873
  5. 查看iptables防火墙和selinux是否开启允许rsync服务通过,也可考虑关闭。
  6. 查看服务端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,正确格式用户名:密码,文件路径和配置文件里的secrect files参数对应。
  7. 如果是推送数据,要查看下,配置rsyncd.conf文件中用户是否对模块下目录有可读写的权限。

8. Rsync 客户端排错思路

  1. 查看客户端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,注意:仅需要有密码,并且和服务端的密码一致。
  2. 用telnet连接rsync服务器ip地址 873 端口(telnet 172.16.1.41 873),查看服务是否启动(可测试服务端防火墙是否阻挡)。
  3. 客户端执行命令时,语法格式书写不正确,此命令的细节要记清楚,尤其语法格式中的双冒号及随其后的oldboy为模块名称。

9. Rsync企业级全网备份项目考试

项目前言介绍

随着互联网大环境的不断蓬勃发展,社会上各个行业都不断转变思路,拓展自己的业务领域,向着互联网企业进行转型,转型后的企业也在不断扩展着自身的互联网架构.随着架构不断的扩展,架构中的服务器数量也在不断增多,由原来的几台变为几十台,甚至几百台的规模。此时由于服务器数量的增多,对服务器中数据的管理备份也随之变的复杂,传统的本地备份或简单的 scp 复制到存储服务器的备份解决方案,已远远不能有效的解决规模壮大后的架构需求。因此急需一种更为智能的解决方案来完成备份数据需求,保证整体架构数据的安全可靠性。

项目需求说明

某公司里有一台 web 服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求把数据做备份,这样 web 服务器数据丢失可以进行恢复,要求如下:

每天晚上 00 点整在 web 服务器 A 上打包备份系统配置文件、网站程序目录及访问日志并通过 rsync 命令推送到服务器 B 上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器 B 上)已知 3 台服务器主机名分别为 web01、backup 、nfs01,主机信息见下表:

全网备份主机信息表

服务器说明 外网 IP(NAT) SSH用 内网 IP(NAT) 交换数据用 主机名称
nginx web 服务器 10.0.0.7/24 172.16.1.7/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

备份要求

每天晚上 00 点整在 Web 服务器上打包备份系统配置文件、网站程序目录及访问日志并通过 rsync 命令推送备份服务器 backup 上备份保留

备份思路

可以是先在本地按日期打包,然后再推到备份服务器 backup 上;NFS 存储服务器同 Web 服务器实际工作中就是运维主要管理的全部服务器。

具体备份需求

  1. 所有服务器的备份目录必须都为**/backup**
  2. 要备份的系统配置文件包括但不限于:
    ​ a) 定时任务服务的配置文件 (/var/spool/cron/root) (适合 web 和 nfs 服务器)。
    ​ b) 开机自启动的配置文件 (/etc/rc.local) (适合 web 和 nfs 服务器)。
    ​ c) 日常脚本的目录 (/server/scripts)。
  3. Web 服务器站点目录假定为/var/html/www,如果没有可以先模拟创建。
  4. Web 服务器访问日志路径假定为/app/logs,如果没有可以先模拟创建。
  5. Web 服务器本地保留打包后的 7 天备份数据即可(本地留存不能多于 7 天,因为太多硬盘会满) 。
  6. 备份服务器 backup 上,保留最近 7 天的备份数据,同时保留 6 个月内每周一的所有数据副本。
  7. 备份服务器上,要按照备份数据服务器的内网 IP 为目录保存备份,备份的文件按照时间名字保存。
  8. 需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据是否完整进行检查。
  9. 每天早晨 8:00 把备份成功或失败结果信息发给系统管理员邮箱中。

服务器备份信息汇总表

服务器说明 备份目录 目录说明 备注
all server /backup 备份目录 统一服务器本地备份目录,便于管理
all server /var/spool/cron/root 定时任务服务配置文件
all server /etc/rc.local 开机自启动配置文件
all server /server/scripts 日常脚本目录 统一服务器本地脚本目录,便于管理
web server /var/html/www web 服务器站点目录 mkdir -p /var/html/www
web server /app/logs web 服务器访问日志路径 mkdir –p /app/logs

项目逻辑架构

在这里插入图片描述

图 1 全网备份架构逻辑图
答案参考: https://edu.51cto.com/course/8198.html

在这里插入图片描述
mail.rc

#邮件服务配置(老男孩77期)
set from=720@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=720@qq.com
set smtp-auth-password=crlddsh
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

相关推荐

  1. Day40-Rsync企业备份工具讲解

    2024-03-14 11:12:03       42 阅读
  2. <span style='color:red;'>Day</span><span style='color:red;'>41</span>

    Day41

    2024-03-14 11:12:03      22 阅读
  3. cp scp rsync备份用法举例

    2024-03-14 11:12:03       67 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 11:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 11:12:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 11:12:03       82 阅读
  4. Python语言-面向对象

    2024-03-14 11:12:03       91 阅读

热门阅读

  1. BACnet device对象详解以及协议栈相关代码

    2024-03-14 11:12:03       27 阅读
  2. tcp 连接数上限突破

    2024-03-14 11:12:03       37 阅读
  3. 【MySQL篇】 SQL刷题日记

    2024-03-14 11:12:03       37 阅读
  4. C# 委托Delegate

    2024-03-14 11:12:03       30 阅读
  5. day3-C++

    day3-C++

    2024-03-14 11:12:03      30 阅读