1.rsync补充和总结
参数:
-a ##归档模式传输,等于-tropgdl
-v ##详细模式输出,打印速率,文件数量等
-z ##传输时进行压缩提高效率
-r ##递归传输目录以及子目录
-t ##保持文件属性信息
-o ##保持文件属主信息
-p ##保持文件权限
-g ##保持文件属组信息
-l ##保持软链接
-P ##显示同步的过程以及传输的进度等信息,和带宽速度
-D ##保持设备文件信息
-L ##保持软链接指向的目标文件
-e ##使用的信道协议,指定rsh的shell程序
--exclude=PATTERN ##指定排除不需要传输的文件模式
--exclude-from=file ##批量指定不需要同步的文件,写的这个文件里指定
--bwlimit=1 ##限速传输1限速1MB/秒
--partial ##断点续传
--delete ##让目标目录和源目录保持一致,从哪来到哪去的左边是源
--password-file=file ##使用密码文件免密传输
--exclude=PATTERN举例:
--exclude=2.txt不加路径只写文件名,排除2.txt
touch /root/hsc/{1..3}.txt
rsync -avz /root/hsc/ 172.16.1.204:/root/ --exclude=2.txt
创建了123文件,排除2,只推过去1.txt和3.txt
--exclude-from=file举例:
touch hsc/{1..6}.txt
[root@web01 ~]# cat name.txt
1.txt
3.txt
5.txt
rsync -avz /root/hsc/ 172.16.1.204:/root/ --exclude-from=/root/name.txt
排除文件里指定的文件,文件里制定了135排除,所以传过去了246
--delete:
rsync -avz /root/hsc/ 172.16.1.204:/root/ --delete
从哪来到哪去,已覆盖目录的方式整个目录及以下覆盖,前面的覆盖后面的,文件内容也一起覆盖
相当于cp -r /backup/etc /etc
案例:
案例:
1.客户端提前准备存放的备份的目录,目录规则如下:/backup/web01_172.16.1.7_2018-09-02 date +%F
2.客户端在本地打包备份(系统配置文件、应用配置等)拷贝至/backup/web01_172.16.1.7_2018-09-02
3.客户端最后将备份的数据进行推送至备份服务器 守护进程
4.客户端每天凌晨1点定时执行该脚本
5.客户端服务器本地保留最近7天的数据,避免浪费磁盘空间
#!/bin/bash
mkdir -p /backup/`hostname`_`hostname -I | awk '{print $2}'`_`date +%F` &>/dev/null
tar zcf /backup/`hostname`_`hostname -I | awk '{print $2}'`_`date +%F`/etc.tar.gz /etc &>/dev/null
rsync -avz /backup/`hostname`_`hostname -I | awk '{print $2}'`_`date +%F` rsync_backup@172.16.1.204::data --password-file=/etc/rsync.password &>/dev/null
find /backup/ -mtime +7 | xargs rm -rf
00 01 * * * root sh /root/backup.sh
2.数据一致性nfs
怎么保证多台负载均衡服务器数据的一致性,网络挂载数据服务器解决
负载均衡服务器不存储数据
2.1.配置流程
- 准备两台前端负载均衡服务器,一台数据服务器
- web01,web02,data-nfs01
- 检查三台服务器有没有nfs软件
- 只配置数据服务器data-nfs01的nfs软件,web内网局域网 网络挂载使用即可
数据服务器data-nfs01:
1.配置数据服务器data-nfs01
data-nfs01的nfs配置文件/etc/exports
/data/ 172,16,1,0/24(rw,sync,all_squash)
#说明:允许172,16,1网段的254个主机读写/data/,以压缩用户的方式读写all_squash
#参数中使用的a11_squash用户的身份压缩,压缩成哪个用户就使用哪个用户的身份往/data中写数据
2.启动服务,并开机自启
systemctl enable --now nfs
3.查看压缩的用户
cat /var/lib/nfs/etab
根据uid查password里的用户
4.创建共享目录/data/,属主属组改为上面的用户
mkdir /data/
chown xxx:xxx /data/
5.完成并用web挂载测试,数据一致性
web01:
挂载并写入开机挂载,测试
mount -t nfs 172.16.1.200:/data/ /img/
df-h
172.16.1.200:/data/ /img/ nfs defaults 0 0
web02:
同上web01
2.2指定用户配置
nfs配置文件指定uid和gid即可,但是需要先创建用户和组
1.创建一个www的组,指定组id为555
2.创建一个www虚拟用户,指定uid和gid为555
3.更改nfs配置文件
/data/ 172,16,1,0/24(rw,sync,all_squash,anonuid=555,anongid=555)
4. 其他配置步骤按照2.1即可