Heim > System-Tutorial > LINUX > Lernen der Rsync-Dateisynchronisierung

Lernen der Rsync-Dateisynchronisierung

WBOY
Freigeben: 2024-05-02 21:04:15
nach vorne
1122 Leute haben es durchsucht

Lassen Sie uns zunächst das allgemeine Prinzip der Rsync-Synchronisierung verstehen: Die Rsync-Synchronisierung verwendet den sogenannten „Rsync-Algorithmus“, um Dateien zwischen dem lokalen und dem Remote-Host zu synchronisieren. Dieser Algorithmus überträgt nur unterschiedliche Teile der beiden Dateien und nicht jeden einzelnen Teil Zeit

Übertragung, daher ist die Übertragungsgeschwindigkeit recht hoch. Der Rsync-Server öffnet einen Servicekanal (Port) 873 und wartet auf die Rsync-Verbindung des Clients. Beim Herstellen einer Verbindung prüft der Rsync-Server, ob das Passwort (passwd) übereinstimmt. Wenn er die Passwortprüfung besteht,

Dann können Sie mit der Dateiübertragung beginnen. Wenn die erste Verbindung hergestellt ist, wird die gesamte Datei einmal übertragen und beim nächsten Mal wird nur die Differenz zwischen den beiden Dateien übertragen.

Als nächstes beginnen wir mit dem Vorbau und erfüllen zunächst die Aufgabenanforderungen.

Rsync-Server (192.168.177.130)

Installieren Sie das Rsync-Tool

yum -y install rsync
Nach dem Login kopieren

(Standardmäßig wird eine rsync-Konfigurationsdatei im Verzeichnis etc generiert)

Bearbeiten Sie die Konfigurationsdatei rsyncd.conf (Sie können der Konfigurationsdatei keine Kommentare hinzufügen, sonst wird ein Fehler gemeldet)

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
Nach dem Login kopieren

Detaillierte Konfigurationserklärung

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的用户一致。(需自行创建)
Nach dem Login kopieren

Entsprechende Passwortdatei erstellen

vim /etc/rsyncd.passwd
Nach dem Login kopieren
格式如下:root:123456(前用户名后密码)
Nach dem Login kopieren
修改文件权限:chmon 600 /etc/rsyncd.passwd
Nach dem Login kopieren
启动rsync服务端:sudo rsync --daemon(客户端不用启动)
Nach dem Login kopieren
Rsync-Client (192.168.177.131)

Installieren Sie das Rsync-Tool

  yum -y install rsync (默认会在etc目录下生成一个rsync的配置文件)
Nach dem Login kopieren

Konfigurieren Sie die Authentifizierungspasswortdatei

  echo passwd(只需要密码就行) >> /etc/rsyncd.passwd
Nach dem Login kopieren

Berechtigungen ändern

  chmon 600 /etc/rsyncd.passwd
Nach dem Login kopieren

Dateisynchronisierung testen:

  rsync -avz --progress --password-file=/etc/rsyncd.passwd root@192.168.177.130::rsynctest /tmp/rsynctest/
Nach dem Login kopieren

Lernen der Rsync-Dateisynchronisierung

Test abgeschlossen!

Detaillierte Erläuterung der Befehlsparameter:

  -v, –verbose 详细模式输出

  -z, –compress 对备份的文件在传输时进行压缩处理

  -r, –recursive 对子目录以递归模式处理

  -t, –times 保持文件时间信息

  -o, –owner 保持文件属主信息

  -p, –perms 保持文件权限

  -g, –group 保持文件属组信息

  –-progress 显示传输进度

  --delete 删除客户端多余文件
Nach dem Login kopieren

Die Zusammenfassung ist noch nicht vollständig, ich hoffe, Sie können uns auf etwaige Probleme hinweisen!

Mach es einfach

Das obige ist der detaillierte Inhalt vonLernen der Rsync-Dateisynchronisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:linuxprobe.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage