• Linux-Rsync文件同步


    主机配置
    	OS:centos7.8
    	主IP:192.168.80.15
    	备IP:192.168.80.12
    	
        关闭防火与Selinux(主备执行)
        #关闭firewalld
    	systemctl stop firewalld
    	systemctl disable firewalld
    		 
       #关闭selinux
    	sed -i '/SELINUX/{s/enforcing/disabled/}' /etc/selinux/config    #永久关闭
    
    
    1.安装配置Rsync (备服务器做配置)
        yum install -y rsync
     
        #修改配置文件
        vim /etc/rsyncd.conf
         
        uid = rsync
        gid = rsync
        fake super = yes
        use chroot = no
        max connections = 200
        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 = 192.168.80.0/24
        hosts deny = 0.0.0.0/32
        auth users = rsyncweb
        secrets file = /etc/rsync.password
        [web]
        comment = This is web data!
        path = /data/www
         
    	 
        #创建用户与同步文件目录
        useradd rsync -s /sbin/nologin -M   #同步用户
        mkdir /data/www                     #创建文件目录
        chown rsync.rsync -R /data          #修改文件夹权限
             
        #创建用户rsync同步文件的用户和密码文件。
        echo "rsyncweb:123456" > /etc/rsync.password    #将用户名密码写入到rsync.password文件
        chmod 600 /etc/rsync.password                 #修改文件权限为600
         
        #启动rsync
        systemctl start rsyncd     #启动
        systemctl enable rsyncd    #开机启动
    
    2.主服务器安装配置
    
    	安装rsync
    		yum install -y rsync
    		 
    	创建密码文件
    		echo "123456" > /etc/rsync.password   #密码就是服务器端的密码。
    	 
    	修改权限
    		chmod 600 /etc/rsync.password
    
    3.测试文件同步
    		
    		推送(主服务器上操作)
    			#将主服务器data文件夹下的文件全部推送到备份服务器端。web是rsyncd.conf配置文件下的web。
    			rsync -avzP /data/ rsyncweb@192.168.80.12::web --password-file=/etc/rsync.password
    			 
    			#将主服务器,data文件夹推送到备份服务器端。web是rsyncd.conf配置文件下的web。
    			rsync -avzP /data rsyncweb@192.168.80.12::web --password-file=/etc/rsync.password  
    	 
    		拉取(主服务器上操作)
    			#将备份服务器web=/data/www目录中文件拉取到主服务器/data/www 文件夹中
    			rsync -avz rsyncweb@192.168.80.12::web /data/www --password-file=/etc/rsync.password
    
    
    注释:
    	主配置文件说明
    		uid = rsync     #rsync使用的用户,默认nobody
    		gid = rsync     #rsync使用的gid 默认nobody
    		address = 192.168.80.31   #设置本服务器所监听网卡接口的ip地址
    		use chroot = no    #是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,如果为
    						   #true就限定为模块默认目录,通常都在内网使用rsync所以不配也可以
    		max connections = 200 #设置最大连接数
    		timeout = 300 #超时时间 建议300-600
    		pid file = /var/run/rsyncd.pid    #pid文件位置
    		lock file = /var/run/rsync.lock  #指定lock文件用来支持“max connections ”参数使总连接不会超过限制
    		log file = /var/log/rsyncd.log #日志文件路径
    		ignore errors #忽略io错误
    		read only = false #指定客户端是否可以上传文件,默认
    		truelist = false #是否允许客户端查看可用模块 
    		hosts allow = 192.168.80.0/24 #允许连接的ip段或个别ip,默认任何人都可以连接
    		hosts deny = 0.0.0.0/32 #不允许连接的IP段或个别ip
    		auth users = rsyncweb #指定以空格或逗号分隔用户,他们可以使用这个模块,用户不需要再本
    								  #系统存在,默认所有用户都可以无密码登录
    		secrets file = /etc/rsync.password #指定用户名和密码文件 格式:用户名:密码 密码不超过8位
    										   #这个是密码文件  全线最好是600
    		
    		[web] 
    			comment = "this is a comment" #此参数指定在客户端获取可用模块列表时显示在模块名称旁边的描述字符串,默认没有这个参数
    			path = /data/www #模块在服务端的绝对路径
    			list = true    #客户端请求显示模块列表时,本模块名称是否显示,默认为true
     
       常用命令
    		命令格式
    			Local: rsync [OPTION...] SRC... [DEST] =====>本地的推送格式
    			Access via remote shell:
    			Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
    			Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
    			Access via rsync daemon:
    			Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
    			rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
    			Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
    			rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
    		
    		常用选项
    			-v 详细模式输出 传输时候显示进度等信息
    			-z 传输时进行压缩提高传输速率 --compuress-level=num 可以按级别压缩
    			-r 对子目录以递归模式,即目录下的所有目录都同样传输
    			-t 保持文件时间信息
    			-o 保持文件属性信息
    			-g 保持稳健属组信息
    			-a 归档模式 相当于 rtopg
    			-P 显示同步过程及传输时进度信息
    			-e 使用信道协议 指定替代rsh 的shell程序 如ssh
    			--exclude=PATTERN 指定排除不需要传输的文件 支持*来代替任意字符
    			-D 保持设备文件信息
    			-l 保留软连接
    			常用的选项为 avz
    		
    		
    		SSH传输使用
    			利用ssh传输
    			rsync -avz -P -e 'ssh -p 22' ./hello.txt  root@192.168.80.12:/backup/ 
    			
    			#将主服务器/data/www 文件同步到备份服务器/data/backup/(直接把www文件夹同步过去)
    			rsync -avz /data/www root@192.168.80.12:/data/backup/
    			
    			#将主服务器/data/www/全部文件同步到备份服务器/data/backup/(直接把www下的文件同步过去,不同步文件夹)
    			rsync -avz /data/www/ root@192.168.80.12:/data/backup/
  • 相关阅读:
    javaBean实体包区分
    先后天八卦配太极图
    mysql表连接
    关于解决问题方法论的思考
    Python基础综合练习
    大数据概述
    编译原理
    词法分析
    组合数据类型练习
    词法分析器实验报告
  • 原文地址:https://www.cnblogs.com/qiandong/p/12923179.html
Copyright © 2020-2023  润新知