Tout d'abord, comprenons le principe général de la synchronisation rsync : la synchronisation Rsync utilise ce que l'on appelle « l'algorithme Rsync » pour synchroniser les fichiers entre les hôtes locaux et distants. Cet algorithme ne transmet que différentes parties des deux fichiers, plutôt que chaque partie entière toutes les deux. le temps
Transmission, donc la vitesse de transmission est assez rapide. Le serveur Rsync ouvrira un canal de service (port) 873 et attendra la connexion client Rsync. Lors de la connexion, le serveur Rsync vérifiera si le mot de passe (passwd) correspond. S'il réussit la vérification du mot de passe,
.Ensuite, vous pouvez démarrer le transfert de fichiers. Lorsque la première connexion est terminée, l'intégralité du fichier sera transféré une fois, et la fois suivante, seule la différence entre les deux fichiers sera transférée.
Ensuite, nous commencerons la construction préliminaire et terminerons d'abord les exigences de la tâche.
Installer l'outil rsync
yum -y install rsync
(Par défaut, un fichier de configuration rsync sera généré dans le répertoire etc)
Modifiez le fichier de configuration rsyncd.conf (Vous ne pouvez pas ajouter de commentaires dans le fichier de configuration, sinon une erreur sera signalée)
uid = root gid = root use chroot = no max connections = 4 #pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log exclude = lost+found/ transfer logging = yes timeout = 600 ignore nonreadable = yes dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 [test] path = /home/rsynctest ignore errors = yes read only = yes write only = no hosts allow = 192.168.177.131 hosts deny = * list = false uid = root gid = root auth users = root secrets file = /etc/rsyncd.passwd
Explication détaillée de la configuration
uid = root #设置运行rsync 进程的用户 gid = root use chroot = no #使用默认根目录 max connections = 4 #最大连接数 #pid file = /var/run/rsyncd.pid #CentOS7中yum安装 不需指定pid file 否则报错 lock file = /var/run/rsyncd.lock #指定支持 max connections 参数的锁文件 log file = /var/log/rsyncd.log #此文件定义完成后 系统会自动创建 exclude = lost+found/ transfer logging = yes #使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中 timeout = 600 #通过该选项可以覆盖客户指定的IP超时时间。通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户。超时单位为秒钟,0表示没有超时定义,这也是默认值。对于匿名rsync服务器来说,一个理想的数字是600。 ignore nonreadable = yes #同步时跳过没有权限的目录 dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 #传输时不压缩的文件 [test] #此名字即客户端使用rsync来同步的路径 path = /home/rsynctest #实际需要同步的路径 ignore errors = yes #指定rsyncd在判断是否运行传输时的删除操作时忽略server上的IP错误,一般来说rsync在出现IO错误时将将跳过--delete操作,以防止因为暂时的资源不足或其它IO错误导致的严重问题 read only = yes #表示可以pull write only = no #表示不可以push hosts allow = 192.168.177.131 #客户端同步的地址 hosts deny = * #指定不允许连接rsync服务器的机器,可以使用hosts allow的定义方式来进行定义。默认是没有hosts deny定义。 list = false #该选项设定当客户请求可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为false,可以创建隐藏的模块。默认值是true。 uid = root #获取文件的身份 gid = root auth users = root #客户端获取文件的身份 此用户并不是本机中确实存在的用户 secrets file = /etc/rsyncd.passwd #用来认证客户端的秘钥文件 格式 USERNAME:PASSWD 此文件权限一定需要改为600,且属主必须与运行rsync的用户一致。(需自行创建)
Créer le fichier de mot de passe correspondant
vim /etc/rsyncd.passwd
格式如下:root:123456(前用户名后密码)
修改文件权限:chmon 600 /etc/rsyncd.passwd
启动rsync服务端:sudo rsync --daemon(客户端不用启动)
Installer l'outil rsync
yum -y install rsync (默认会在etc目录下生成一个rsync的配置文件)
Configurer le fichier de mot de passe d'authentification
echo passwd(只需要密码就行) >> /etc/rsyncd.passwd
Modifier les autorisations
chmon 600 /etc/rsyncd.passwd
Test de synchronisation des fichiers :
rsync -avz --progress --password-file=/etc/rsyncd.passwd root@192.168.177.130::rsynctest /tmp/rsynctest/
Test terminé !
Explication détaillée des paramètres de commande :
-v, –verbose 详细模式输出 -z, –compress 对备份的文件在传输时进行压缩处理 -r, –recursive 对子目录以递归模式处理 -t, –times 保持文件时间信息 -o, –owner 保持文件属主信息 -p, –perms 保持文件权限 -g, –group 保持文件属组信息 –-progress 显示传输进度 --delete 删除客户端多余文件
Le résumé n'est pas encore terminé, j'espère que vous pourrez signaler d'éventuels problèmes !
Faites-le
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!