Mis à jour le 30 août 2012
INDEX
Du distant vers le local (avec dry-run)
rsync -azvcun -e "ssh" --exclude=.DS_Store --exclude=/application/cache/* --exclude=/application/logs/* --exclude=/logs/* user@host:/home/commodesk/ /Users/italic/Sites/commodesk/commodesk_cluster/
Du local vers le distant (avec dry-run)
rsync -azvcun -e "ssh" --exclude=.DS_Store --exclude=/application/cache/* --exclude=/application/logs/* --exclude=/logs/* /Users/italic/Sites/commodesk/commodesk_cluster/ user@host:/home/commodesk/
Résultat
Password: building file list ... done application/cache/ application/logs/2011-03-22.log.php logs/access_log www/index.php www/front/scripts/commodesk.js www/front/styles/commodesk_ie67.css sent 5962850 bytes received 6022 bytes 2653.78 bytes/sec total size is 1467035912 speedup is 245.70
En l’état, on voir que le résultat ci-dessus a été donné par une commande qui n’utilisait pas l’option –exclude sur les deux dossiers de logs.
Conclusion
Adieu la synchro par FTP en mode miroir !
Bonus : rsync de fichiers créées depuis X jours
rsync -azvcun -e "ssh" `find . -mtime -17` /folder/ login@IP:/folder/
Se connecter en SSH sur un port spécifique via Rsync
rsync -azvcurn -e "ssh -p 1234"
Récupérer certains fichiers seulement
rsync -azvcurn -e "ssh -p 1234" --include "*param.inc.php" --include "*/" --exclude "*" user@host:/home/project/ /Volumes/Data/florian/Sites/project/
Cette commande va synchroniser tous les fichiers param.inc.php
en mode récursif. L’inconvénient : cela synchronise également tous les dossiers, y compris les dossiers vides.
Heureusement…
Effacer les dossiers vides récursivement sous Mac OS X
find ./ -depth -type d -empty -exec rmdir {} \;
Mac OS X : synchronisation avec DropSync
[Dropsync->https://www.mudflatsoftware.com/dropsync.html] est un utilitaire pour Mac OS X développé par Mudflat Software, permettant de se connecter à un dossier distant pour transférer via rsync. En un mot, c’est une GUI pour rsync !
Pour moins de 10 € chez l’éditeur ou sur le Mac App Store, DropSync permet de créer des profils de connexion (avec un répertoire local et un distant, comme dans une fenêtre FTP) et de gagner du temps pour les opérations de synchronisation.
La synchro est disponible dans les 2 sens, avec ou sans effacement de fichiers. Un accès avancé aux paramètres à passer à rsyncd permet de customiser la synchronisation à l’aide de filtres :
Italic remercie chaleureusement Ira Cooke, développeur de DropSync, pour l’implémentation des fonctions que nous avons suggéré :
– Synchronisation dans un sens ou dans l’autre à l’aide du raccourci cmd + ->
et cmd + <-
– Synchronisation sans valider la fenêtre de preview avec cmd + alt + ->
et cmd + alt + <-
– Indication du dossier actif dans le menu déroulant de choix d’un dossier
– Touches de raccourci standard pour minimiser (cmd + M
) et ramener (cmd + 0
) la fenêtre principale
– Possibilité d’ouvrir un fichier ou dossier de la liste locale dans une fenêtre du Finder, ou un autre logiciel au choix
– Possibilité d’annuler la suppression d’une configuration
– Possibilité de changer l’ordre des arguments passés à la commande rsync via drag’n’drop
– Ajout d’une entrée d’aide dans le menu plus un bouton raccourci vers l’aide pour savoir comment se connecter à un serveur distant avec une clé SSH
Quelques options de configurations intéressantes (avec l’aide de Ira Cooke) :
- Exclure les fichiers jpg du dossier uploads
–exclude=www/uploads/*.png - Exclure les fichiers jpg du dossier uploads, et de ses sous-dossiers
–exclude=www/uploads/**.jpg - Exclure les fichiers de plusieurs types
–exclude=www/uploads/**[.jpg,.png,.gif]
Pingback: ITALIC™ » LaCie 2big NAS / 5big NAS : SSH + rsync
Pingback: ITALIC™ » Sauvegardes MySQL et rotations avec AutoMySQLBackup