Je serais vraiment utile si je pouvais faire quelque chose comme ça:
- aller dans un répertoire local
- SSH à un hôte distant
- Le répertoire local est synchronisé avec l'hôte distant (local -> distant)
- lancer la commande à distance
- synchroniser à nouveau avec les résultats (à distance -> local)
Y a-t-il un moyen de faire cela avec des outils standard comme ssh ou une application qui le fait?
Réponses:
Vous pourriez envisager de
sshfs
- monter un répertoire via SSH plutôt que de transférer les fichiers dans les deux sens.Dans ce cas, vous devez vous connecter au serveur et monter le répertoire de votre PC. Vous pouvez ensuite opérer directement sur les fichiers avant de les démonter et de les déconnecter.
Selon le réseau, vous devrez peut-être transférer le port d'écoute de votre serveur SSH local.
C'est FUSE, il n'y a donc pas besoin de root / sudo.
Monter avec:
Démonter avec:
la source
Vous pouvez utiliser
rsync --rsh=ssh
pour les étapes 2 + 3,ssh
pour l'étape 4 et àrsync
nouveau pour les étapes 2 + 5.Les paramètres de
rsync
peuvent sembler un peu complexes au début - mais vous pouvez toujours tester avec d’--dry-run
abord.la source
src
/dest
sont un répertoire, vous risquez d’avoir un comportement inattendu - j’ajoute toujours une fin/
aux répertoires pour obtenir un comportement cohérent qui a du sens pour moi.rsync -av ${SRC} ${DEST}
utilisation standard .Pour les éléments de synchronisation de votre liste (puisque vous souhaitez effectuer un transfert bidirectionnel), vous pouvez également consulter unison , qui est similaire mais différent de rsync. Vous pouvez le lancer avant et après votre commande pour que les deux côtés restent synchronisés.
Similaire à rsync:
Différent de rsync:
Si vous voulez expliciter le sens de la copie, je vous suggère également rsync, comme jvb dans https://superuser.com/a/1219619/738892 - également commencer par
--dry-run
(ou-n
en abrégé) est très utile. Les commentaires des commentaires sur les barres obliques sont également importants: commencez par-av
copier le répertoire (avec la sortie - pour voir ce qui se passe).Vous pouvez ou non utiliser des
--del
amis, selon que vous souhaitez ou non supprimer les fichiers qui ont disparu du code SRC du DEST. Selon votre cas d'utilisation--update
(ignore les fichiers les plus récents sur DEST), il peut vous être utile.la source