CentOS rsync配置

想要定时地把一台服务器上某个目录下的内容备份到另一台机器中,于是想到了rsync,两台机器均为CentOS操作系统。rsync有好几种使用模式,我采用的是服务器/客户端的模式,即其中一台作为服务端,一台作为客户端,服务端作为备份机,客户端定期将本地目录内容更新到远端机器上。

    1. 配置服务端

    a. 建立rsyncd配置文件 vi /etc/rsyncd.conf

    secrets file = /etc/rsyncd.secrets

    motd file = /etc/rsyncd.motd

    read only = no

    list = yes

    uid = nobody

    gid = nobody

    hosts allow = (IP address)

    max connections = 2

    log file = /var/log/rsyncd.log

    pid file = /var/run/rsyncd.pid

    lock file = /var/run/rsyncd.lock

    [abc_module]

    comment = Abc's data

    path = /home/abc

    auth users = abc

    其中secrets file是放置rsync用户密码的文件,需要新建,每一行放置一行用户名:密码如

    abc:123456

    该文件要设置为创建者只读,即 chmod 600 /etc/rsyncd.secrets

    motd file为客户端连上来的欢迎语句,也需要新建,随便写上一句话就可以了

    read only可以设置客户端是否只读或可写

    hosts allow可以设置客户端的IP地址限制

    [abc_module]是指定客户端连上来时采用的模块,该模块规定了使用的目录和用户名

    b.  检查并开启防火墙

    rsyncd将使用873端口,检查873端口是否开启

    telnet 127.0.0.1 873

    如果被拒绝,则需要开启873端口:

    iptables -A INPUT -s (IP address) -p tcp -m tcp --dport 873 -j ACCEPT

    iptables -A INPUT -p tcp -m tcp --dport 873 -j DROP

    其中IP address可填写为客户端的地址

    c. 启动rsync作为后台运行:

    rsync --daemon --config=/etc/rsyncd.conf

    

    2. 配置客户端

    a. 建立password file, vi /etc/rsync.pass

    12345

    注意该密码文件只含有密码,没有用户名。同样chmod 600 /etc/rsync.pass

    b. 开始备份文件

    rsync -avu --password-file=/etc/rsync.pass /path1/path2 abc@192.168.1.10::abc_module

    上述命令把本机的/path1/path2目录备份到远端192.168.1.10机器上,使用用户名abc,采用abc_module

    此时远端的目录/home/abc需要有可写权限

    c. 加入crontab

    将上面的命令加入到crontab任务中,可以实现周期性的备份

    


转载于:https://my.oschina.net/u/2256406/blog/336888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值