本文章以rhel7.6为例 由前进的心所写
IP规划
server端 192.168.1.14 hostname:backup
client端 192.168.1.15 hostname:nfs
需要达到的要求:
1、客户端每天凌晨3点在服务器打包备份,并且把备份好的通过rsync推至服务端
2、客户端备份的数据必须存放在需要ip跟日期的目录下,并且客户端本地只保留5天数据,以免浪费空间
一、server端
[root@backup ~]# yum install rsync -y #安装包
[root@backup ~]# useradd -M -s /sbin/nologin rsync #创建用户
[root@backup ~]# mkdir /backup #创建备份目录,并修改所属
[root@backup ~]# chown -R rsync.rsync /backup
[root@backup ~]# vim /etc/rsyncd.conf #修改配置文件
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore error
read only =false
list = false
auth users =rsync_backup
secrets file = /appdata/rsync.passwd

[backup]
comment = welcome my backup
path = /appdata/backup
[root@backup ~]# echo "rsync_backup:1" > /backup/rsync.passwd #创建认证文件
[root@backup ~]# chmod 600 /backup/rsync.passwd
[root@backup ~]# systemctl start rsyncd #启动服务
[root@backup ~]# systemctl status rsyncd
二、cliten端
[root@nfs ~]# yum install rsync -y #安装包

这里写了一个脚本,可以上传至每一台设备

[root@nfs ~]# vim /server/script/rstnc_backup.sh

!/bin/bash

1、定义变量

Host=$(hostname)
IP=$(ifconfig ens33 |awk 'NR==2{print $2}')
Date=$(date +%F)
BackupDir=/appdata/backup
Dest=${BackupDir}/${Date}_${IP}_${Host}

2、创建备份目录

mkdir -p $Dest

3、收集需要的备份文件

tar -czPf $Dest/sysconfig.tar.gz /etc/fstab /etc/hosts /var/spool/cron/root
tar -czPf $Dest/log.tar.gz /var/log/messages /var/log/secure /var/log/cron
tar -czPf $Dest/svrconf.tar.gz /etc/rsyncd.conf

4、校验信息的准确性

md5sum $Dest/* >$Dest/backupcheck_$Date

6、推送到backup服务器端

Rsync_IP=192.168.1.15
Rsync_user=rsync_backup
Rsync_Module=backup
export RSYNC_PASSWORD=1
rsync -avz $Dest $Rsync_user@$Rsync_IP::$Rsync_Module

7、保留5天文件

find $BackupDir -type d -mtime +4 | xargs rm -rf
[root@nfs ~]# vim /var/spool/cron/root
00 03 * /bin/sh /server/script/rstnc_backup.sh

至此部署任务完成

测试
[root@nfs ~]# sh /server/script/rstnc_backup.sh
[root@nfs ~]# tree /appdata
/appdata
└── backup

├── 2020-06-09_192.168.1.14_nfs
│   ├── backupcheck_2020-06-09
│   ├── log.tar.gz
│   ├── svrconf.tar.gz
│   └── sysconfig.tar.gz
└── 2020-06-12_192.168.1.14_nfs
    ├── backupcheck_2020-06-12
    ├── log.tar.gz
    ├── svrconf.tar.gz
    └── sysconfig.tar.gz

在backup上查看

[root@backup ~]# tree /appdata/
/appdata/
├── backup
│ ├── 2020-06-09_192.168.1.14_nfs
│ │ ├── backupcheck_2020-06-09
│ │ ├── log.tar.gz
│ │ ├── svrconf.tar.gz
│ │ └── sysconfig.tar.gz
│ └── 2020-06-12_192.168.1.14_nfs
│ ├── backupcheck_2020-06-12
│ ├── log.tar.gz
│ ├── svrconf.tar.gz
│ └── sysconfig.tar.gz
└── backup.passwd

测试完成
分类: linux数据同步 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录