那些年我踩过的坑之 rsync daemon详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了那些年我踩过的坑之 rsync daemon详解相关的知识,希望对你有一定的参考价值。
服务端设置/etc/rsyncd.conf 设置
#rsync.conf--------------------------------------------start
##这个地方被坑过 报错信息 uid rsync error 类似的
##原因是把##注释加到了uid=rsync后面,这里定义的是系统用户,以后的配置文##注释必须换行加
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
##这条新版本必加的,否则报错 看下面常见错误
fake super = yes
pid file = /var/run/rsyncd.pid
##lock file
lock file = /var/run/rsync.lock
log file = /var/log/rysncd.log
[backup]
##即接收文件的目录,区分清楚末尾 / 的问题
path = /backup
ignore errors
read only = false
list = false
##生产环境一般使用内网IP做rsync
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
##这个就是客户端访问的用户名,即 [email protected] 这个名
auth users = rsync_backup
##每个类似于[backup]这样的模块都有一个密码文件,区分于后期设立多模块,且路径可以自定义
secrets file = /etc/rsync.password
#rsyncd.conf--------------------------------------------------end
添加系统用户与rsyncd.conf uid gid 保持一致
useradd -s /sbin/nologin -M rsync
添加密码文件且修改权限为600
echo "rsync_backup:123" >> /etc/rsync.password
chmod 600 /rsync.password
创建接收文件目录并修改所有者和所有组
mkdir -p /backup
chown rsync.rsync /backup
客户端配置
创建密码文件 且写入密码 并修改权限
echo "123" >> /etc/rsync.password
chmod 600 /etc/rsync.password
测试
1.确认服务端端口打开,默认873 用nmap telnet 等测试, 如果不正常,大概率是防火墙的问题
2.命令 rsync -avz /backup/testfile [email protected]172.16.1.33::backup 注意daemon 方式用:: 两个冒号,shell模式用: 一个冒号
这条命令很重要,写脚本的时候非交互使用密码文件
rsync -avz /backup/testfile [email protected]::backup --password-file=/etc/rsync.password
常见错误
1.uid gid error : 用户名不对,配置文件写错(我就是后面跟了##注释,被坑好久)
2.配置文件里写的文件名好几个,一定检查配置文件内容与 实际创建的文件 名一致
3.rsync: chgrp ".hosts.G6sZha" (in backup) failed: Operation not permitted (1)
这个错误就是因为没有加 fake super = yes
以上是关于那些年我踩过的坑之 rsync daemon详解的主要内容,如果未能解决你的问题,请参考以下文章
Android 百度地图开发-----001 环境配置 那些年我踩过的坑
那些年在python中踩过的坑之error: command gcc failed with exi