<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://prendreuncafe.com/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Prendre un Café - Tag - cli</title>
  <link>http://prendreuncafe.com/blog/</link>
  <atom:link href="http://prendreuncafe.com/blog/feed/tag/cli/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 30 Dec 2008 16:33:00 +0100</pubDate>
  <copyright>Contenus sous licence Creative Commons BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Synchro distante automatique via un daemon rsync sur Ubuntu</title>
    <link>http://prendreuncafe.com/blog/post/2007/01/18/Synchro-distante-automatique-via-un-daemon-rsync-sur-Ubuntu</link>
    <guid isPermaLink="false">urn:md5:2d2a0faedd532e3cd8531d2b670e548a</guid>
    <pubDate>Thu, 18 Jan 2007 16:26:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Ubuntu</category>
        <category>bestpractices</category><category>cli</category><category>linux</category><category>rsync</category><category>sysadmin</category>    
    <description>    &lt;p&gt;Et non ! &lt;a href=&quot;http://fr.wikipedia.org/wiki/Rsync&quot; hreflang=&quot;fr&quot;&gt;Rsync&lt;/a&gt; n'est pas une voiture des années 90 mais bien un outil de synchronisation de fichiers à distance très puissant. Il peut notamment tourner en &lt;a href=&quot;http://fr.wikipedia.org/wiki/Daemon&quot; hreflang=&quot;fr&quot;&gt;daemon&lt;/a&gt; afin d'autoriser les appels distants automatiques,  via &lt;a href=&quot;http://fr.wikipedia.org/wiki/Cron&quot; hreflang=&quot;fr&quot;&gt;Cron&lt;/a&gt; par exemple.&lt;/p&gt;


&lt;p&gt;Si par un hasard hallucinant vous ne disposiez pas de rsync sur votre &lt;a href=&quot;http://ubuntu-fr.org&quot; hreflang=&quot;fr&quot;&gt;Ubuntu&lt;/a&gt;, voici la démarche à suivre pour l'installer en ligne de commande :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install rsync&lt;/pre&gt;


&lt;p&gt;Bien. Nous disposons de deux machines, la machine A - disposant d'un utilisateur &lt;code&gt;jeanpierre&lt;/code&gt; - et la machine B - habitée par &lt;code&gt;edmond&lt;/code&gt;. Nous devons automatiser la synchro d'un répertoire présent sur la machine A vers la machine B. On va donc installer un daemon rsync sur la machine A et le configurer en créant le fichier &lt;code&gt;/etc/rsyncd.conf&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;uid             = jeanpierre 
gid             = jeanpierre
use chroot      = no    
max connections = 4
syslog facility = local5
pid file        = /var/run/rsyncd.pid

[mon_partage]
  comment = Mon partage
  path = /home/jeanpierre/monpartage
  read only = yes
  list = yes
  hosts allow = *
  auth users = edmond, gerard
  secrets file = /etc/rsyncd.secrets&lt;/pre&gt;


&lt;p&gt;Je vous renvoie à cette page sur la &lt;a href=&quot;http://sunsite.dk/info/guides/rsync/rsyncd.conf.html&quot; hreflang=&quot;en&quot;&gt;syntaxe du fichier rsync.conf&lt;/a&gt; pour plus de renseignements.&lt;/p&gt;


&lt;p&gt;On crée un fichier process vide :&lt;/p&gt;


&lt;pre&gt;jeanpierre@machineA:~$ sudo touch /var/run/rsyncd.pid&lt;/pre&gt;


&lt;p&gt;Les comptes utilisateurs se définissent dans le fichier &lt;code&gt;/etc/rsyncd.secrets&lt;/code&gt; sous la traditionnelle forme &lt;code&gt;login:motdepasse&lt;/code&gt; comme ci-dessous :&lt;/p&gt;


&lt;pre&gt;edmond:3dm0nd
gerard:g3r4rd&lt;/pre&gt;


&lt;p&gt;Par souci de sécurité et de confidentialité, ces fichiers ne devront pas être lisibles par un autre utilisateur que le root, donc :&lt;/p&gt;


&lt;pre&gt;jeanpierre@machineA:~$ sudo chmod 640 /etc/rsyncd.conf
jeanpierre@machineA:~$ sudo chmod 640 /etc/rsyncd.secrets&lt;/pre&gt;


&lt;p&gt;Lancer rsync en daemon sur la machine A (machinea.domain.tld) :&lt;/p&gt;


&lt;pre&gt;jeanpierre@machineA:~$ sudo rsync --daemon&lt;/pre&gt;


&lt;p&gt;Et depuis la machine B (machineb.domain.tld) :&lt;/p&gt;


&lt;pre&gt;edmond@machineB:~$ rsync -avz edmond@machinea.domain.tld::mon_partage ~/mon/repertoire/cible&lt;/pre&gt;


&lt;p&gt;La saisie du password de l'utilisateur &lt;code&gt;edmond&lt;/code&gt; défini précedemment lancera la synchronisation effective des fichiers. Pour éviter la saisie manuelle du password, il faut envisager d'utiliser l'option &lt;code&gt;--password-file=FILE&lt;/code&gt;. Pour se faire, il faut créer un fichier contenant juste le mot de passe en clair, par exemple dans &lt;code&gt;/home/edmond/.rsync_passwd&lt;/code&gt; comme ceci :&lt;/p&gt;


&lt;pre&gt;3dm0nd&lt;/pre&gt;


&lt;p&gt;Ce fichier devra n'être accessible que par l'utilisateur système utilisant la commande &lt;code&gt;rsync&lt;/code&gt;. Dans le cas de l'utilisateur connecté à la machine B :&lt;/p&gt;


&lt;pre&gt;edmond@machineB:~$ chmod 640 /home/edmond/.rsync_passwd&lt;/pre&gt;


&lt;p&gt;On peut alors lancer une synchro de cette façon :&lt;/p&gt;


&lt;pre&gt;edmond@machineB:~$ rsync -avz edmond@machinea.domain.tld::mon_partage ~/mon/repertoire/cible --password-file=/home/edmond/.rsync_passwd&lt;/pre&gt;


&lt;p&gt;L'avantage de cette ligne de commande est qu'elle peut être appellée depuis un Cron et donc ne pas nécessiter de saisie du mot de passe manuellement.&lt;/p&gt;


&lt;p&gt;Enfin, sachez que les éventuelles erreurs d'authentification seront logguées dans le fichier &lt;code&gt;/var/log/syslog&lt;/code&gt;.&lt;/p&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2007/01/18/Synchro-distante-automatique-via-un-daemon-rsync-sur-Ubuntu'&gt;Synchro distante automatique via un daemon rsync sur Ubuntu&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>
