<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://ca.wiki.guifi.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
		<id>http://ca.wiki.guifi.net/w/index.php?action=history&amp;feed=atom&amp;title=Rsync</id>
		<title>Rsync - Historial de revisió</title>
		<link rel="self" type="application/atom+xml" href="http://ca.wiki.guifi.net/w/index.php?action=history&amp;feed=atom&amp;title=Rsync"/>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/w/index.php?title=Rsync&amp;action=history"/>
		<updated>2026-07-29T20:55:59Z</updated>
		<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
		<generator>MediaWiki 1.22.0</generator>

	<entry>
		<id>http://ca.wiki.guifi.net/w/index.php?title=Rsync&amp;diff=4352&amp;oldid=prev</id>
		<title>Al: Copyleft Sergi Tur Badenas a http://acacha.org/w/index.php?title=Rsync&amp;action=edit</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/w/index.php?title=Rsync&amp;diff=4352&amp;oldid=prev"/>
				<updated>2020-02-08T14:03:26Z</updated>
		
		<summary type="html">&lt;p&gt;Copyleft Sergi Tur Badenas a http://acacha.org/w/index.php?title=Rsync&amp;amp;action=edit&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[DissenyXarxesLinux]], [[LinuxAdministracioAvancada]]&lt;br /&gt;
| fitxers                = [http://anonymous@svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio5/transparencies/GestioRemota.pdf GestioRemota.pdf]&lt;br /&gt;
| repositori             = http://anonymous@svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rsync és una millora de la comanda scp, amb més opcions, més flexibilitat i més rapidesa. La principal millora respecte a scp és que rsync permet copiar fitxers de forma incremental, copiant només les diferències. Altres avantatges són la capacitat de comprimir la informació abans d'enviar-la per la xarxa. Veiem un exemple:&lt;br /&gt;
&lt;br /&gt;
 rsync -e ssh -cavz fitxer_origen usuari_desti@maquina_desti:path_desti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scripts per sincronitzar dos ordinadors==&lt;br /&gt;
&lt;br /&gt;
Rsync per fer còpies de seguretat unidireccionals cap problema. Però per sincronitzar fitxers en les dos direccions entre 2 ordinadors és una mica més complicat, perquè si en l'ordinador A hi ha el fitxer hola.txt i en l'ordinador B no hi és, pot ser que:&lt;br /&gt;
&lt;br /&gt;
* El fitxer no estava enlloc i s'ha creat en l'ordinador A: llavors caldria copiar-lo a B.&lt;br /&gt;
* El fitxer estava als dos ordinadors i s'ha eliminat de l'ordinador B: llavors caldria eliminar-lo a A. &lt;br /&gt;
&lt;br /&gt;
Una possible solució és utilitzar 2 scripts separats a l'ordinador secundari B. Un per fer baixar els fitxers de A a B i un altre per pujar-los de B a A. És qüestió de ser ordenat:&lt;br /&gt;
&lt;br /&gt;
#baixar els fitxers de A a B (script FesVenirFitxers)&lt;br /&gt;
#Treballar amb l'ordinador B&lt;br /&gt;
#pujar-los de B a A (script FesMarxarFitxers) &lt;br /&gt;
&lt;br /&gt;
Els scripts per l'usuari usuari que només estan a l'ordinador B són els següents:&lt;br /&gt;
&lt;br /&gt;
 $ more /home/usuari/Desktop/FesVenirFitxers&lt;br /&gt;
 #! /bin/sh&lt;br /&gt;
 rsync -e ssh -avuz --delete --exclude '.*' --exclude 'Fes*Fitxers' c@192.168.0.10:/home/usuari /home&lt;br /&gt;
&lt;br /&gt;
 $ more /home/usuari/Desktop/FesMarxarFitxers&lt;br /&gt;
 #! /bin/sh&lt;br /&gt;
 rsync -e ssh -avuz --exclude '.*' --exclude 'Fes*Fitxers' /home/usuari usuari@192.168.0.10:/home&lt;br /&gt;
&lt;br /&gt;
Faig sincronització per dates perquè així els fitxers modificats ambdós costats es sincronitzen correctament (guanya el fitxer més actual). No em fa por perquè els 2 portàtils sincronitzen la data+hora per internet a l'arrancar.&lt;br /&gt;
&lt;br /&gt;
L'script FesVenirFitxers té l'opció --delete perquè ordinador secundari B sigui un còpia fidel a A.&lt;br /&gt;
&lt;br /&gt;
Però l'script FesMarxarFitxers no té l'opció --delete per no provocar desgràcies involuntàriament (si executes FesMarxarFitxers sense primer haver executat FesVenirFitxers). Això té com a conseqüència que els fitxers eliminats a B no s'eliminin a A, però no es greu si la feina grossa es fa a A (crear/modificar/eliminar fitxers) i a B només crear/modificar fitxers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Còpies incrementals amb rsync==&lt;br /&gt;
&lt;br /&gt;
Podem utilitzar rsync per fer còpies incrementals sense malgastar espai en disc de la següent manera:&lt;br /&gt;
&lt;br /&gt;
 rm -rf backup.3&lt;br /&gt;
 mv backup.2 backup.3&lt;br /&gt;
 mv backup.1 backup.2&lt;br /&gt;
 cp -al backup.0 backup.1&lt;br /&gt;
 rsync -a --delete source_directory/  backup.0/&lt;br /&gt;
&lt;br /&gt;
o&lt;br /&gt;
&lt;br /&gt;
 rm -rf backup.3&lt;br /&gt;
 mv backup.2 backup.3&lt;br /&gt;
 mv backup.1 backup.2&lt;br /&gt;
 mv backup.3 backup.tmp&lt;br /&gt;
 mv backup.0 backup.1&lt;br /&gt;
 rsync -a --delete --link-dest=../backup.1 source_directory/  backup.0/&lt;br /&gt;
&lt;br /&gt;
Si aquest script s'executa diàriament (per exemple amb crontab) tindrem còpies incrementals del últims 3 dies.&lt;br /&gt;
&lt;br /&gt;
Teniu en compte l'opció ---link-dest. Per més informació sobre HardLinks es pot consultar l'apartat corresponent de l'entrada Shells&lt;br /&gt;
&lt;br /&gt;
*[http://www.mikerubel.org/computers/rsync_snapshots/ Easy Automated Snapshot-Style Backups with Linux and Rsync]&lt;br /&gt;
&lt;br /&gt;
==Còpies remotes amb Rsync==&lt;br /&gt;
&lt;br /&gt;
Vegeu l'article [[Còpies remotes amb Rsync]].&lt;br /&gt;
&lt;br /&gt;
==Exclude==&lt;br /&gt;
&lt;br /&gt;
Atenció amb els excludes i els patchs absoluts. El següent no funciona:&lt;br /&gt;
&lt;br /&gt;
 rsync -a /var/lib/* --exclude=&amp;quot;/var/lib/moodle&amp;quot; /tftpboot/node_root/var/lib/&lt;br /&gt;
&lt;br /&gt;
en canvi:&lt;br /&gt;
&lt;br /&gt;
 rsync -a /var/lib/* --exclude=&amp;quot;moodle/&amp;quot; /tftpboot/node_root/var/lib/&lt;br /&gt;
&lt;br /&gt;
Si que exclou correctament la carpeta moodle.&lt;br /&gt;
&lt;br /&gt;
===Filtres===&lt;br /&gt;
&lt;br /&gt;
El següent exemple exclou totes els moodle.mediawiki o mysql ja siguin fitxers o carpetes&lt;br /&gt;
&lt;br /&gt;
 rsync -a /var/lib/* --exclude=moodle --exclude=mediawiki --exclude=mysql /tftpboot/node_root/var/lib/&lt;br /&gt;
&lt;br /&gt;
Per a indicar només carpetes cal fer:&lt;br /&gt;
&lt;br /&gt;
 rsync -a /var/lib/* --exclude=moodle/ --exclude=mediawiki/ --exclude=mysql/ /tftpboot/node_root/var/lib/&lt;br /&gt;
&lt;br /&gt;
==Exemples==&lt;br /&gt;
&lt;br /&gt;
===Copiar només carpetes===&lt;br /&gt;
&lt;br /&gt;
Es pot fer combinant includes i excludes de la següent manera:&lt;br /&gt;
&lt;br /&gt;
 $ sudo rsync -a -u --include=*/ --exclude=* /var /tftpboot/node_root&lt;br /&gt;
&lt;br /&gt;
===Limitar l'ample de banda===&lt;br /&gt;
&lt;br /&gt;
Podem utilitzar el paràmetre '''bwlimit'''&lt;br /&gt;
&lt;br /&gt;
 $ rsync -e ssh -cavvvz --progress --bwlimit=10 FOTOS usuari@elmeudomini.org:/linux2&lt;br /&gt;
&lt;br /&gt;
L'exemple limita la velocitat a 10 KBPS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===rsync en un port SSH diferent===&lt;br /&gt;
&lt;br /&gt;
Si voleu utilitzar un port de [[SSH]] diferent al estàndard:&lt;br /&gt;
&lt;br /&gt;
 $ rsync --progress -vrae 'ssh -p 8022' fitxer_origen fitxer_destinacio&lt;br /&gt;
&lt;br /&gt;
==Clonar disc==&lt;br /&gt;
&lt;br /&gt;
*http://gentoo-wiki.com/HOWTO_Clone_a_Gentoo_system&lt;br /&gt;
&lt;br /&gt;
==Instal·lar un servidor rsync==&lt;br /&gt;
&lt;br /&gt;
Teniu un exemple a la documentació:&lt;br /&gt;
&lt;br /&gt;
 /usr/share/doc/rsync/examples/rsyncd.conf       &lt;br /&gt;
&lt;br /&gt;
{{nota| A Debian el fitxer és /usr/share/doc/rsync/sample-rsyncd.conf.gz}}&lt;br /&gt;
&lt;br /&gt;
Primer cal però canviar el fitxer:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/rsync&lt;br /&gt;
&lt;br /&gt;
Només cal activar el servidor posant:&lt;br /&gt;
&lt;br /&gt;
 RSYNC_ENABLE=true&lt;br /&gt;
&lt;br /&gt;
Però encara falta configurar-lo abans de poder-lo executar:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/rsync restart&lt;br /&gt;
  * Restarting rsync daemon  rsync                        &lt;br /&gt;
  * rsync daemon not running, attempting to start.&lt;br /&gt;
  * missing or empty config file /etc/rsyncd.conf&lt;br /&gt;
&lt;br /&gt;
Podeu copiar l'exemple:&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp /usr/share/doc/rsync/examples/rsyncd.conf  /etc&lt;br /&gt;
&lt;br /&gt;
Ara cal dir que és el que compartim:&lt;br /&gt;
&lt;br /&gt;
 # sample rsyncd.conf configuration file&lt;br /&gt;
 &lt;br /&gt;
 # GLOBAL OPTIONS&lt;br /&gt;
 &lt;br /&gt;
 #motd file=/etc/motd&lt;br /&gt;
 #log file=/var/log/rsyncd&lt;br /&gt;
 # for pid file, do not use /var/run/rsync.pid if&lt;br /&gt;
 # you are going to run rsync out of the init.d script.&lt;br /&gt;
 pid file=/var/run/rsyncd.pid&lt;br /&gt;
 #syslog facility=daemon&lt;br /&gt;
 #socket options= &lt;br /&gt;
 &lt;br /&gt;
 # MODULE OPTIONS&lt;br /&gt;
 &lt;br /&gt;
 [ubuntu] &lt;br /&gt;
 &lt;br /&gt;
         comment = Ubuntu Mirror&lt;br /&gt;
         path = /media/disk2/UbuntuMirror&lt;br /&gt;
         use chroot = yes&lt;br /&gt;
 #       max connections=10&lt;br /&gt;
         lock file = /var/lock/rsyncd&lt;br /&gt;
 # the default for read only is yes...&lt;br /&gt;
         read only = yes&lt;br /&gt;
         list = yes&lt;br /&gt;
         uid = sergi&lt;br /&gt;
         gid = sergi&lt;br /&gt;
 #       exclude =&lt;br /&gt;
 #       exclude from =&lt;br /&gt;
 #       include =&lt;br /&gt;
 #       include from =&lt;br /&gt;
 #       auth users =&lt;br /&gt;
 #       secrets file = /etc/rsyncd.secrets&lt;br /&gt;
         strict modes = yes&lt;br /&gt;
 #       hosts allow =&lt;br /&gt;
 #       hosts deny =&lt;br /&gt;
         ignore errors = no&lt;br /&gt;
         ignore nonreadable = yes&lt;br /&gt;
         transfer logging = no&lt;br /&gt;
 #       log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.&lt;br /&gt;
         timeout = 600&lt;br /&gt;
         refuse options = checksum dry-run&lt;br /&gt;
         dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz &lt;br /&gt;
&lt;br /&gt;
El que està entre claudàtors és anomenat a anomenat mòdul (module) en la terminologia rsync i és el que s'indicar a la URL d'accés. Si no configurem el mòdul tindrem el següent error:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; rsync -a --progress --stats rsync://192.168.7.182/ubuntu .&lt;br /&gt;
 @ERROR: Unknown module 'ubuntu'&lt;br /&gt;
&lt;br /&gt;
Podeu comprovar que el port està obert amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap -p 873 localhost&lt;br /&gt;
 &lt;br /&gt;
 Starting Nmap 5.00 ( http://nmap.org ) at 2010-02-01 13:12 CET&lt;br /&gt;
 Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.&lt;br /&gt;
 Interesting ports on localhost (127.0.0.1):&lt;br /&gt;
 PORT    STATE SERVICE&lt;br /&gt;
 873/tcp open  rsync&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*http://www.togaware.com/linux/survivor/Rsync_Server.html&lt;br /&gt;
*https://help.ubuntu.com/community/rsync&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting. Resolució de problemes=&lt;br /&gt;
&lt;br /&gt;
==chgrp failed: Operation not permitted a FAT 32==&lt;br /&gt;
&lt;br /&gt;
Sies esteu fent una còpia de seguretat amb rsync sobre un dispositiu FAT32 i obteniu errors similars a:&lt;br /&gt;
&lt;br /&gt;
 rsync: chgrp &amp;quot;/media/disk/Torrents/tor0/cache/Ep 6 - 11am - 12pm.avi&amp;quot; failed: Operation not permitted (1)&lt;br /&gt;
&lt;br /&gt;
És per què rsync no suporta operacions de grup. Podeu utilitzar el paràmetre '''--no-group'''.&lt;br /&gt;
&lt;br /&gt;
 # rsync -avv --no-group  --modify-window=1  --progress /linux2/linux2/FOTOS /media/disk&lt;br /&gt;
&lt;br /&gt;
=Vegeu també=&lt;br /&gt;
&lt;br /&gt;
*[[rsyncMirror]]&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
&lt;br /&gt;
*[http://rsync.samba.org Pàgina principal de rsync]&lt;br /&gt;
*[http://forge.novell.com/modules/xfmod/project/?rsync Rsync al forge de Novell]&lt;br /&gt;
*[http://everythinglinux.org/rsync/ Tutorial: Using Rsync]&lt;br /&gt;
*[http://www.howtoforge.com/mirroring_with_rsync Tutorial: Mirroring amb rsync]&lt;br /&gt;
*[http://www.linux.com/article.pl?sid=04/09/15/1931240 Tutorial: Backing up files with rsync]&lt;br /&gt;
*[http://rsync.samba.org/tech_report/node2.html Algorisme de RSync]&lt;br /&gt;
*[http://www.cis.upenn.edu/~bcpierce/unison/ Unison, una eina per sincronitzar bidireccionalment]&lt;br /&gt;
*[http://www.gaztronics.net/rsync.php Rsync a Windows amb Cygwin]&lt;br /&gt;
*[http://www.exavault.com/rsync_setup_windows.shtml Tutorial 1 amb captures de pantalla per configurar Rsync a Windows]&lt;br /&gt;
*[http://www.exavault.com/rsync_setup_unix_linux_bsd.shtml Tutorial amb captures de pantalla per configurar Rsync a Linux/Unix/BSD]&lt;br /&gt;
*[http://www.exavault.com/rsync_setup_mac_osx.shtml Tutorial amb captures de pantalla per configurar Rsync a Mac OS X]&lt;br /&gt;
*[http://www.nasbackup.com/index.php/Main_Page NasBackup. Rsync Windows GUI]&lt;br /&gt;
*[http://www.rsync.net/ rsync.net]&lt;br /&gt;
&lt;br /&gt;
[[Category:DissenyXarxesLinux]] [[Category:LinuxAdministracioAvancada]]&lt;/div&gt;</summary>
		<author><name>Al</name></author>	</entry>

	</feed>