rss
twitter
  • Showcase
  • Carrières
  • Support
  • GitLab
  • Espace client
  • Contact

Rsync : la commande magique !

2

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 !

img1

La fenêtre principale de DropSync

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 :

img2

Les options à passer à la commande rsync

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]
DATE 22 Mar 2010
by : Germain
Author / Auteur

Social Share / Partager

    2 Comments
    1. Pingback: ITALIC™ » LaCie 2big NAS / 5big NAS : SSH + rsync

    2. Pingback: ITALIC™ » Sauvegardes MySQL et rotations avec AutoMySQLBackup

    Leave a Reply / Répondre Annuler la réponse

    *
    *

    More in Sysadmin : Linux, Apache, GIT

    • Recevoir un mail lors de la connexion root à un serveur
    • Maildev : tester l'envoi de mails durant ses développements
    • Quel php.ini (MAMP ou Linux), quelle valeur de phpinfo() ?
    • Pense-bête Apache Server-Side Includes (SSI)
    • Ubuntu 14 chroot sftp et rsync

    Search the blog

    Blog categories

    • Front-end : HTML, CSS (13)
    • Workflow (1)
    • Front-end : javascript, jQuery (33)
    • Back-end : PHP, CMS (42)
    • Back-end : SQL, MySQL (20)
    • Sysadmin : Linux, Apache, GIT (75)
    • Designers : tools, advice (2)
    • Desktop : OS X (37)
    • Desktop : Microsoft (12)
    • Uncategorized (8)

    ITALIC™ Resources

    • Paramètres de connexion au serveur mail
    • Graphistes : séduire un développeur web
    • Dév front : nos bonnes pratiques
    • Mailing : nos (bonnes ?) pratiques
    • Environnement de travail Mac

    Recent posts

    • Autoriser le chargement de contenus mixtes non-https dans Chrome (Mac)
    • Afficher les logs MySQL
    • Recevoir un mail lors de la connexion root à un serveur
    • Changer l’interclassement de plusieurs tables MySQL à la fois (ou presque
    • Maildev : tester l’envoi de mails durant ses développements
    © 2008-2017 ITALIC™ • 8 bis rue Abel • 75012 PARIS • Tel +33 (0)1 48 44 46 35 • RCS PARIS 508 228 772 • Powered by WordPress & GoodLayers
    Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web.
    Cookie settingsACCEPTER
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necessary
    Toujours activé
    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
    Non-necessary
    Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
    Enregistrer & appliquer