This is an old revision of the document!
Table of Contents
rclone
https://rclone.org/ est une application écrite en Go (et compatible avec tous les systèmes d'exploitation). Ce qui est sensé faciliter l'ensemble des opérations de transferts (SSH inclus), sans autre dépendance qu'un binaire à placer au bon endroit. L'avantage de passer par celle-ci plutôt que par rsync ou scp est simplement de pouvoir le déployer facilement sur n'importe quel système (ce qui me permet de dégager WSL sur Windows pour ne passer que par Chocolatey, mais également de n'avoir qu'une seule syntaxe à appréhender.
Un autre avantage que j'ajouterais à rclone est qu'il est multithreadé : plutôt que d'attendre que le transfert d'un fichier soit terminé pour passer au suivant, il envoie nativement quatre fichiers simultanément.
Configuration
La configuration peut être auto-générée grâce à la commande rclone config. Après avoir répondu aux quelques questions, un fichier sera généré et placé dans le répertoire ~/.config/rclone/rclone.conf.
Ma configuration est la suivante pour contacter l'hôte patapouf (que l'on pourra appeler tel quel dans les appels, au moment de la synchronisation effective) :
[patapouf] type = sftp host = <host> key_file = ~/.ssh/id_ed25519 known_hosts_file = ~/.ssh/known_hosts skip_links = true idle_timeout = 30s shell_type = unix
sync
Attention que la toute première synchronisation peut potentiellement SUPPRIMER des données. Faites bien attention à utiliser les modes interactive et dry-run lors du premier démarrage. Faites également attention à ce que la SOURCE soit spécifiée AVANT la DESTINATION.
rclone sync /Users/fred patapouf:/mnt/users/boo --exclude ".DS_Store" --exclude "Library**" --exclude ".Trash**" --progress
Pour information, la même commande avec rsync sera similaire à ceci :
rsync -e ssh -avz --delete-after "/home/source avec espace/" user@ip_du_serveur:"/dossier/destination avec espace/"
Notes
- Sur macOS, le Terminal a besoin d'un accès complet au disque. Ceci peut être configuré dans l'écran "Sécurité et Confidentialité" des réglages système.