• Rsync CentOS 7 下安装


    在CentOS 7下安装 Rsync

    首先,检查rsync是否安装,如果没有需要手动安装。
    # rpm -qa|grep rsync #检查是否安装过rsync,whereis rsync也可以
    # yum install -y rsync #如果未安装,使用yum安装rsync

    创建rsyncd服务的配置文件,默认安装后,在/etc目录下,并不存在rsyncd目录,需要手动创建配置文件目录。
    # mkdir /etc/rsyncd

    在/etc/rsyncd目录下创建如下文件
    # touch /etc/rsyncd/rsyncd.conf #主配置文件
    # touch /etc/rsyncd/rsyncd.secrets #用户名密码文件,一组用户一行,用户名和密码使用 : 分割
    # chmod 0600 /etc/rsyncd/rsyncd.secrets #rsyncd服务的密码文件权限必须是600
    # touch /etc/rsyncd/rsyncd.motd #非必须,连接上rsyncd显示的欢迎信息,此文件可不创建

    编辑主配置文件 rsyncd.conf

    ####################################################
    # ******进程相关全局配置******
    ####################################################
    # = 后面的值可根据自己的实际情况更改
    # pid file 守护进程pid文件
    # port 守护进程监听端口,可更改,由xinetd允许rsyncd时忽略此参数
    # address 守护进程监听的本机ip,由xinetd允许rsyncd时忽略此参数
    pid file = /usr/local/var/run/rsyncd.pid
    port = 873
    address = 192.168.44.13
    #模块验证密码文件
    secrets file=/etc/rsyncd/rsyncd.secrets
    #rsyncd 守护进程运行系统用户全局配置,也可在具体的块中独立配置,
    uid = root
    gid = root
    #允许 chroot,提升安全性,客户端连接模块,首先chroot到模块path参数指定的目录下
    #chroot为yes时必须使用root权限,且不能备份path路径外的链接文件
    use chroot = yes
    #只读
    read only = no
    #只写
    write only = no
    #允许访问rsyncd服务的ip,ip端或者单独ip之间使用空格隔开
    hosts allow = 192.168.44.12 192.168.44.11
    #不允许访问rsyncd服务的ip,*是全部(不涵盖在hosts allow中声明的ip,注意和hosts allow的先后顺序)
    hosts deny = *
    #客户端最大连接数
    max connections = 5
    #欢迎文件路径,可选的
    #motd file = /etc/rsyncd/rsyncd.motd
    #日志相关
    # log file 指定rsync发送消息日志文件,而不是发送给syslog,如果不填这个参数默认发送给syslog
    # transfer logging 是否记录传输文件日志
    # log format 日志文件格式,格式参数请google
    # syslog facility rsync发送消息给syslog时的消息级别,
    # timeout连接超时时间
    log file = /usr/local/logs/rsyncd.log
    transfer logging = yes
    log format = %t %a %m %f %b
    syslog facility = local3
    timeout = 300

    ######################################################################################################
    # ******模块配置(多个)******
    ######################################################################################################
    #模块 模块名称必须使用[]环绕,比如要访问mysqlData,则地址应该是mysqlDatauser@192.168.1.2::mysqlData
    [mysqlData]
    #模块根目录,必须指定
    path=/home/mysql201608/
    #是否允许列出模块里的内容
    list=yes
    #忽略错误
    ignore errors
    #模块验证用户名称,可使用空格或者逗号隔开多个用户名
    auth users = phper1021
    #注释
    comment = some description about this moudle
    #排除目录,多个之间使用空格隔开
    exclude = test1/ test2/

    [codeTmp]
    path = /tmp/code
    list=no
    auth users = lamper1021

    编辑密码文件 rsyncd.secrets
    #格式 用户名:口令,该用户不要求是系统用户
    #注意:该密码文件里面每行不要有空格,不然同步的时候一直报错auth failed on module
    phper1021:123456
    lamper1021:123456

    启动rsync服务
    rsync服务器启动方式
    rsync服务器负载比较高,则使用独立启动模式
    rsync服务器负责较低,使用xinetd运行方式
    独立启动模式
    # /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf #默认配置文件是/etc/rsyncd.conf,所以需要显式的指定配置文件
    # nohup /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf #假设使用putty,xshell终端操作,保证终端断开进程仍然执行
    #为了保证开机时自动启动,需要手动加上面的命令(/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf)加入 /etc/rc.local 文件中
    #如果服务器开启了防火墙,必须保证端口能穿过防火墙
    # iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT

    xinetd运行方式
    #xinetd的rsync配置文件是/etc/xinetd.d/rsync,需要编辑此文件修改一个参数,显式的指定rsyncd服务的配置文件
    # vi /etc/xinetd.d/rsync
    # server_args = --daemon --config=/etc/rsyncd/rsyncd.conf
    # chkconfig rsync on
    # service xinetd restart
    #如果执行 service xinetd restart 发现 xinetd: unrecognized service 则未安装xinetd服务
    #执行 yum install xinetd 安装 xinetd服务
    #安装之后启动 xinetd服务(service xinetd start)

    查看rsync服务是否启动
    netstat -an | grep 873

    rsync客户端
    # 安装客户端
    # yum -y install rsync
    # 同步命令
    # -a 参数,相当于-rlptgoD
    # -r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限
    # -t 保持文件原有时间;-g 保持文#件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件
    # -z 传输时压缩;
    # -P 传输进度;
    # -v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;

    测试
    # 登录192.168.44.12进程同步操作
    # rsync -avzP phper1021@192.168.44.13::mysqlData /tmp/test
    # 客户端数据和服务器端数据保持一致,会删除在客户端目录里但是不在服务器模块里的文件(夹)
    # rsync -avzP --delete phper1021@192.168.44.13::mysqlData /tmp/test
    # 指定传输时候的密码文件,密码文件权限 600
    # vi /tmp/phper1021.password #输入密码
    # chmod 600 /tmp/phper1021.password
    # rsync -avzP --delete --password-file=/tmp/phper1021.password phper1021@192.168.44.13::mysqlData /tmp/test

  • 相关阅读:
    Bootstrap JS插件使用实例(2)-模态对话框
    Java常用正则表达式验证工具类RegexUtils.java
    程序员不是砌砖工人,他们是作家【转】
    js中继承的几种用法总结(apply,call,prototype)
    javascript中apply()方法解析-简单易懂!
    javascript方法 call()和apply()的用法
    高性能优化Web前端
    Javascript类继承-机制-代码Demo【原创】
    初识WEB:输入URL之后的故事【转】
    博客园添加网站统计访问量-操作简单很实用哦!
  • 原文地址:https://www.cnblogs.com/jianchen013/p/12016056.html
Copyright © 2020-2023  润新知