<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.visuaweb.com/index.php/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/">
<channel>
  <title>VisuaBlog - Rsync</title>
  <link>http://blog.visuaweb.com/index.php/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Mon, 15 Dec 2008 20:24:26 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Synchroniser des fichiers entre 2 serveurs linux avec RSYNC et SSH</title>
    <link>http://blog.visuaweb.com/index.php/post/2007/12/04/Synchroniser-des-fichiers-entre-2-serveurs-linux-avec-RSYNC-et-SSH</link>
    <guid isPermaLink="false">urn:md5:f81723aa54fc382571e1e9e47ab4cb28</guid>
    <pubDate>Sun, 04 Nov 2007 09:47:00 +0100</pubDate>
    <dc:creator>Jeremie Engel</dc:creator>
        <category>Notes techniques</category>
        <category>Rsync</category><category>ssh</category>    
    <description>Compte tenu que j'avais un peu galéré pour synchroniser des données d'un serveur de dev vers un serveur de prod en utilisant rsync et ssh, voici un petit script bien pratique.    &lt;p&gt;L'idéal et de générer des clés SSH pour ne pas avoir à raisir les mots de passe et ainsi pourquoi mettre en cron la synchro si besoin.
J'avais trouvé une partie du script sur un site dont je ne me souviens pas du nom, donc merci à eux quand même :)&lt;/p&gt;
&lt;code&gt;
#!/bin/sh&lt;br /&gt;
# sync&lt;br /&gt;
DIRECTORY=/var/www/DOSSIER_A_SYNCHRONISER/&lt;br /&gt;
SRC=${DIRECTORY}&lt;br /&gt;
DEST=/var/www/DOSSIER_A_SYNCHRONISER/&lt;br /&gt;
#La source est locale&lt;br /&gt;
SRC_HOST=localhost&lt;br /&gt;
# La destination : le serveur sur lequel on publie les données&lt;br /&gt;
DEST_HOST=www.serveur.com&lt;br /&gt;
# l'utilisateur unix qui se connecte en ssh&lt;br /&gt;
USER=UTILISATEUR&lt;br /&gt;
# Fichiers contenant les listes d'exclusions et d'inclusions&lt;br /&gt;
#EXCLUDES=${DIRECTORY}/synchro/excludes&lt;br /&gt;
#INCLUDES=${DIRECTORY}/synchro/includes&lt;br /&gt;
# Option passee a rsync&lt;br /&gt;
# Optionnellement on peut supprimer les fichiers exclus&lt;br /&gt;
#OPTS=&quot;-anvzSH --delete --delete-excluded&quot;&lt;br /&gt;
OPTS=&quot;-avzSH --delete&quot;&lt;br /&gt;
### Start programme&lt;br /&gt;
[ -f $EXCLUDES ] &amp;amp;&amp;amp; EXCL_OPT=&quot;--exclude-from=$EXCLUDES&quot;&lt;br /&gt;
[ -f $INCLUDES ] &amp;amp;&amp;amp; INCL_OPT=&quot;--include-from=$INCLUDES&quot;&lt;br /&gt;
# Shoot les messages&lt;br /&gt;
# exec &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
# Kill dernier rsync si encore en cour d'execution&lt;br /&gt;
progname=`basename $0`&lt;br /&gt;
pidfile=/var/run/$progname.pid&lt;br /&gt;
oldpid=`cat $pidfile 2&amp;gt;/dev/null`&lt;br /&gt;
# Si valeur de $oldpid non null, tue le process&lt;br /&gt;
if [ $oldpid ]; then&lt;br /&gt;
test -n $oldpid &amp;amp;&amp;amp; kill $oldpid &amp;amp;&amp;amp; kill -9 $oldfile&lt;br /&gt;
fi&lt;br /&gt;
# Lance le sync&lt;br /&gt;
rsync $OPTS  --exclude-from=$EXCLUDES --include-from=$INCLUDES -e ssh $SRC $USER@$DEST_HOST:$DEST&lt;br /&gt;
# Si on veut attaquer le serveur SSH sur un autre port :&lt;br /&gt;
#rsync $OPTS  --exclude-from=$EXCLUDES --include-from=$INCLUDES -e 'ssh -p 26' $SRC $USER@$DEST_HOST:$DEST&lt;br /&gt;
# Mets a jour le pid dans le fichier&lt;br /&gt;
echo $! &amp;gt;$pidfile&lt;br /&gt;
&lt;/code&gt;</description>
    
    
    
          <comments>http://blog.visuaweb.com/index.php/post/2007/12/04/Synchroniser-des-fichiers-entre-2-serveurs-linux-avec-RSYNC-et-SSH#comment-form</comments>
      <wfw:comment>http://blog.visuaweb.com/index.php/post/2007/12/04/Synchroniser-des-fichiers-entre-2-serveurs-linux-avec-RSYNC-et-SSH#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.visuaweb.com/index.php/feed/rss2/comments/4</wfw:commentRss>
      </item>
    
</channel>
</rss>