EOF
########################### 配置文件注释 #####################################
#rsync_config
#created by oldboy 15:00 2016-11-15
##rsyncd.conf start##
uid = rsync # 用户 远端的命令使用rsync访问共享目录
gid = rsync # 用户组
use chroot = no # 安全相关
max connections = 200 # 最大连接数
timeout = 300 # 超时时间
pid file = /var/run/rsyncd.pid # 进程对应的进程号文件
lock file = /var/run/rsyncd.lock # 锁文件
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] # 模块名称
path = /backup # 服务端提供访问的目录
########################### 配置文件注释 #####################################
第一步 ; 创建备份存储的目录,和创建管理用户用户组
[root@rsync ~]# mkdir -p backup #创建目录
[root@rsync ~]# ls
backup install.log install.log.syslog optimize-init_sys.sh sysctl.conf
[root@rsync ~]# useradd rsync -s /sbin/nologin -M #创建rsync备份目录的管理用户与用户组
[root@rsync ~]# chown -R rsync.rsync backup/ #授权
[root@rsync ~]# ll
总用量 64
-rw-------. 1 root root 1510 11月 18 2017 anaconda-ks.cfg
drwxr-xr-x. 2 rsync rsync 4096 6月 21 23:05 backup
-rw-r–r–. 1 root root 30419 11月 18 2017 install.log
-rw-r–r–. 1 root root 9371 11月 18 2017 install.log.syslog
-rwxr-xr-x. 1 root root 4065 8月 5 2017 optimize-init_sys.sh
-rwxr-xr-x. 1 root root 2184 8月 5 2017 sysctl.conf
[root@rsync ~]#
第二步;创建服务端和客户端的身份认证文件
[root@rsync ~]# echo “rsync_backup:oldboy123” >/etc/rsync.password
[root@rsync ~]# chmod 600 /etc/rsync.password #配置文件权限只允许 root 用户查看
[root@rsync ~]# cat /etc/rsync.password
rsync_backup:oldboy123
[root@rsync ~]#
第三步 ;启动 rsync 服务
[root@rsync ~]# rsync --daemon #启动服务
[root@rsync ~]# netstat -lntup |grep rsync #rsync 端口是 873 端口
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2425/rsync
tcp 0 0 :::873 ::😗 LISTEN 2425/rsync
[root@rsync ~]#
CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件 在 /etc/xinetd.d/rsync。
要配置以 xinetd 运行的 rsync 服务需要执行如下的命令,也可以rsync --daemon 这样独立运行 。
chkconfig rsync on
service xinetd restart
======================= 客户端配置 ===============================
[root@localhost ~]# rpm -qa | grep rsync #查看软件是否安装,如已安装则无需在进行安装
rsync-3.0.9-18.el7.x86_64
[root@localhost ~]# echo “oldboy123” >/etc/rsync.password #创建认证
[root@localhost ~]# cat /etc/rsync.password
oldboy123
[root@localhost ~]#
[root@localhost ~]# rsync --daemon #启动服务
[root@localhost ~]# netstat -lntup |grep rsync #查看是否监听端口
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1397/rsync
tcp6 0 0 :::873 ::😗 LISTEN 1397/rsync
[root@localhost ~]#
[root@rsync ~]# rsync -av /etc/hosts 172.16.1.8:/mnt/
root@172.16.1.8’s password:
sending incremental file list
hosts
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
hosts
[root@localhost mnt]#
rsync 中的推和拉的概念 ;
####################### rsync备份服务部署扩展功能 ############################
①. rsync服务端多模块功能配置
配置文件多模块信息
[root@rsync backup]# cat /etc/rsyncd.conf
#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
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 = “backup dir by oldboy”
path = /backup
[nfsbackup] #新增加的一个模块
comment = “nfsbackup dir by oldboy”
path = /nfsbackup
说明:01:修改配置文件信息,实现多模块功能后,需要重启rsync服务
02:多模块信息配置好后,需要创建多模块指定备份目录
创建多模块目录
mkdir /nfsbackup
mkdir /nfsbackup -p
chown -R rsync.rsync /nfsbackup/
ll -d /nfsbackup/
进行多模块目录测试
rsync -avz /etc/rc.local rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
rsync -avz /etc/rc.local rsync_backup@172.16.1.41::nfsbackup --password-file=/etc/rsync.password
利用rsync客户端在备份目录中创建多级目录
①. 多级目录的表现格式为 backup/sa/ 如果sa后面没有接/ 表示的是文件不是目录
②. rsync客户端创建目录,只能创建一级,不能创建多级目录
# 利用rsync客户端同步数据(非常重要)
rsync -avz /tmp/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
说明:/tmp/ 表示同步tmp目录下内容,但不包含目录本身
rsync -avz /tmp rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
说明:/tmp 表示同步tmp目录下内容及目录本身
===============================================================
#rsync异常问题总结:
问题一:
[root@nfs tmp]# rsync -avz /etc/hosts rsync@172.16.1.41::backup
Password:
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
问题原因:
①. 认证的用户名或者密码输入的不正确
②. 认证文件编写有问题(认证内容信息)
③. 认证文件的权限设置的不正确(权限为600,文件用户和用户组还是root不变)
④. rsync服务端配置文件中指定的认证文件路径与实际认证文件路径不符
问题二:
[root@nfs01~]#rsync -avz /etc/hosts rsync_backu@172.16.1.41::backup --password-file=/etc/rsync.password
rsync: failed to connect to 172.16.1.41: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
问题原因:
①. rsync服务没有启动
问题三:
rsync -avz /etc/sysconfig/network rsync_backup@172.16.1.41::nfsbackup --password-file=/etc/rsync.password
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!