====== 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 [[https://doc.ubuntu-fr.org/rsync|rsync]] ou [[toolbox:scp]] [[https://fr.wikipedia.org/wiki/Secure_copy|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 [[https://community.chocolatey.org/packages/rclone|Chocolatey]],
- De n'avoir qu'une seule syntaxe à appréhender,
- 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 [[infra:patapouf|patapouf]] (que l'on pourra appeler tel quel dans les appels, au moment de la synchronisation effective) :
[patapouf]
type = sftp
host =
key_file = ~/.ssh/id_ed25519
known_hosts_file = ~/.ssh/known_hosts
skip_links = true
idle_timeout = 30s
shell_type = unix
===== sync =====
La commande `sync` fait en sorte que la source et la destination soient identiques, en ne modifiant que la destination.
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
===== Notes =====
* Sur macOS, le Terminal a besoin d'un accès complet au disque. Ceci peut être configuré dans l'écran [[https://support.apple.com/en-us/HT210595|"Sécurité et Confidentialité" des réglages système]].
* L'équivalent rsync serait le suivant :
rsync -e ssh -avz --delete-after "/home/source avec espace/" user@ip_du_serveur:"/dossier/destination avec espace/"
===== Centralisation des utilisateurs =====