Symfony : Rsync sous Windows

by Vincent on août 18, 2010

Ce soir, je cherchais à faire fonctionner le Rsync sous Windows, et particulièrement sous Symfony.

En effet, un outil existant permet de faire fonctionner du Rsync sous Windows vers un serveur unix via le protocole SSH. Il est trouvable à l’adresse suivante : http://trac.symfony-project.org/wiki/SymfonySyncOnWindows

Comment ça marche ?

Téléchargez l’archive fournie sur le lien ci-dessus puis décompressez-la dans un répertoire. Nous prendrons comme exemple C:\rsync.

Il vous faut ensuite aller éditer les variables d’environnement de Windows et particulièrement la variable PATH à laquelle vous devez rajouter votre répertoire C:\rsync.

Vous pouvez désormais utiliser la commande via une invite de commande (console) (Démarrer > Exécuter > cmd).

Modifier la librairie Symfony

Oui mais voilà, la commande ne va pas fonctionner pour autant lorsque vous lancerez votre ‘symfony project:deploy <environment> –go‘.

Pour celà, il vous faut aller modifier la ligne 164 du fichier lib/vendor/symfony/lib/task/project/sfProjectDeployTask.class.php.

Modifiez la ligne :

$this->getFilesystem()->execute($command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));

en :

$this->getFilesystem()->execute('start cmd /k ' . $command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));

La commande start cmd /k va nous permettre d’ouvrir une invite de commande qui se chargera d’exécuter le rsync.
Ainsi, si vous synchronisez comme moi via SSH, vous n’aurez plus qu’à taper votre mot de passe qui ne peut pas être inscrit dans le fichier de configuration, par raisons de sécurité.
En espérant que cette petite astuce puisse avoir aider certains d’entre vous :)

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

3 comments

Ca fonctionne très bien, merci :-)
Juste un petit souci de permissions sur les fichiers exportés…
Pour le moment je n’ai pas trouvé d’autre solution que de faire un CHMOD manuellement.

by Symfoner on 16 septembre 2010 at 12 h 41 min. #

Finalement, j’ai ajouté cette ligne :

$command = str_replace(‘-azC’,'-rzC’,$command);

by Symfoner on 16 septembre 2010 at 14 h 28 min. #

Content que cette astuce ait pu vous être utile :)

by Vincent on 16 septembre 2010 at 19 h 29 min. #

Leave your comment

Required.

Required. Not published.

If you have one.