rsync全网备份项目
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,系统版本: CentOS 7内核版本: 3.10.0-957假设领导给你一个rsync全网备份项目1、基本备份要求已知3台服务器主机名分别为web01、backup 、nfs01,主机信息见下表:服务
千家信息网最后更新 2024年11月26日rsync全网备份项目
系统版本: CentOS 7
内核版本: 3.10.0-957
假设领导给你一个rsync全网备份项目
1、基本备份要求
已知3台服务器主机名分别为web01、backup 、nfs01,主机信息见下表:
服务器说明 | IP(NAT) | 内网IP(NAT_LAN) | 主机名称 |
---|---|---|---|
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==
要备份的系统配置文件
- 定时任务的配置文件 ==(/var/spool/cron/root)==
- 开机自启动配置文件 ==(/etc/rc.local)==
- 防火墙iptables配置文件 ==(/etc/sysconfig/iptables)==
- 日常脚本的目录 ==(/server/scripts)==
- web服务器站点目录 ==(/var/html/www)==
- web服务器访问日志 ==(/app/logs)==
- 非备份服务器保留打包后的7天内数据
- 备份服务器保留周 1 及180以内的数据
- 确保备份数据尽量完整正确,在本机创建校验包,服务器上校验数据完整性.
- 把备份数据结果通过==email==发送给系统管理员邮箱中
配置服务端
第一步:查看rsync服务 查看rsync服务有没有安装 rpm -qa rsync 没有rsync服务就安装一下 yum install -y rsync 创建备份目录 mkdir /backup第二部:编辑服务配置文件uid = rsync # 虚拟用户 --安全性gid = rsyncport = 873 # 端口号fake super # 伪装超级用户 -- 管理员use chroot = no # 安全有关参数max connections = 200 # 最大连接数量timeout = 300 # 等待用户时间pid file = /var/run/rsyncd.pid # 服务运行状态的进程号lock file = /var/run/rsync.lock # 结合 max connections 控制最大链接数log file = /var/log/rsyncd.log # 服务运行日志信息ignore errors # 忽略简单错误信息,保证传输效率read only = false # 指定备份目录是否是只读权限list = false # 是否开启列表显示模块信息hosts allow = 172.16.1.0/24 # 白名单信息hosts deny = 0.0.0.0/32 # 黑名单信息auth users = rsync_backup # 认证用户名称secrets file = /etc/rsync.password # 认证用户密码文件[backup] # 模块信息 (标识一个目录)comment = "welcome to backup" # 模块注释说明path = /backup # 模块指向目录所在第三部:根据配置文件需求创建所需1. useradd -M -s /sbin/nologin rsync # 创建虚拟用户2. echo "rsync_backup:oldboy123" >/etc/rsync.password #创建认证用户密码3. chmod 600 /etc/rsync.password # 密码文件设置安全权限 ★4. mkdir /backup # 创建备份数据目录5. chown rsync.rsync /backup/ # 修改文件属主属组为配置文件指定用户6. systemctl start rsyncd # 启动服务程序7. systemctl enable rsyncd # 设置服务程序开机自动启动 第四步: 配置邮件服务1. yum install -y mailx2. vim /etc/mail.rc # 添加下面的内容.随便位置set from=QQ号码@qq.com # 邮箱随意.以QQ为例set smtp=smtp.qq.comset smtp-auth-user=QQ号码@qq.comset smtp-auth-password=QQ设置里的第三方授权码set smtp-auth=login3. systemctl restart postfix.service # 重启邮件服务4. echo "hello" | mailx -s "test" qq号@qq.com
配置客户端
第一步: 进行备份数据测试rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup第二部: 实现免交互备份数据echo oldboy123 >/etc/rsync.password # 创建认证用户密码文件chmod 600 /etc/rsync.password # 为密码文件设置一个安全权限rsync -avz /oldboy/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password # 实现免交互传输
编写脚本
web网站服务器
web客户端脚本编写:mkdir -p /server/scripts mkdir /etc/sysconfig/iptablesmkdir -p /var/html/www mkdir /app/logs # 环境准备cd /server/scriptsvim web_backup.sh#!/bin/baship=$(hostname -i)name=$(hostname)date=$(date +%F_%w -d "-1 day")mkdir -p /backup/$ip# 打包配置文件tar zcnPf /backup/$ip/${name}_config_${date}.tar.gz /var/spool/cron/root /etc/rc.local /server/scripts &>/dev/null# 打包站点目录tar zcnPf /backup/$ip/${name}_www_${date}.tar.gz /var/html/www &>/dev/null# 打包网站访问日志tar zcnPf /backup/$ip/${name}_log_${date}.tar.gz /app/logs &>/dev/null# 创建数据检验信息md5sum $(find /backup/$ip -type f -mmin -15) >/backup/md5_${name}.log# 上传数据到备份服务器rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password# 删除本体超过7天的数据包find /backup -type f -mtime +7 -delete &> /dev/nullchmod 700 /server/scripts/web_backup.shcrontab -e # 加入定时任务里0 0 * * * /bin/bash /server/scripts/web_backup.sh
nfs存储服务器
nfs客户单脚本编写:mkdir -p /server/scripts mkdir /etc/sysconfig/iptablescd /server/scriptsvim nfs_backup.sh#!/bin/baship=$(hostname -i)name=$(hostname)date=$(date +%F_%w -d "-1 day")mkdir -p /backup/$ip# 打包配置文件tar zcnPf /backup/$ip/${name}_config_${date}.tar.gz /var/spool/cron/root /etc/rc.local /server/scripts &>/dev/null# 创建数据检验信息md5sum $(find /backup/$ip -type f -mmin -15) >/backup/md5_${name}.log# 上传数据到备份服务器rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password# 删除本体超过7天的数据包find /backup -type f -mtime +7 -delete &> /dev/nullchmod 700 /server/scripts/nfs_backup.shcrontab -e # 加入定时任务里0 0 * * * /bin/bash /server/scripts/nfs_backup.sh
backup备份服务器
backup服务端脚本编写mkdir -p /server/scriptsvim /server/scripts/delete.sh#!/bin/bashdate=$(date +%F)mkdir -p /backup# 校验数据完整性md5sum $(find /backup -type f -name "*.log") -c >/tmp/check_md5.txt# 邮件告知管理员mailx -s "$date 校验信息" qq号@qq.com
服务
备份
服务器
数据
文件
配置
信息
目录
用户
密码
脚本
安全
任务
日志
模块
系统
认证
主机
客户
方案
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
nom数据库
服务器没网线
安徽学软件开发的专业
计算机网络安全分析开题报告
62279软件开发文档
惠州学习软件开发
鄞州安卓软件开发
livedb数据库
土地规划软件开发
sql数据库可疑恢复要多久
芒果数据库启动提示1067
典型的RUP软件开发过程
本地安全接入服务器地址
怎么防止服务器检测虚拟机
黑魂诸神服务器
网络安全对中国经济的影响
数据库写结构的网站
部队网络安全的问题
深圳互联网未来科技城选址
面向对象软件开发优点
sql数据库mgr是什么意思
数据库设备
软件开发和销售指的什么
vb 图片 数据库中
贪吃蛇服务器碰撞检测
常州互联网软件开发诚信合作
财务软件开发语言
上海服务器机房空调
软件开发履约能力评分
瓦肯软件开发