Comment ne pas copier mais déplacer des fichiers d'un serveur à un autre (tous deux sous Linux)?
man scp
ne m'a rien donné d'utile. Je ne peux pas utiliser 'scp' alors 'rm' car je dois m'assurer que le fichier a bien été transféré. En cas d'erreur lors du transfert, le fichier ne doit pas être supprimé.
Peut-être devrais-je utiliser le code de sortie d'une certaine manière, mais comment? En outre, il y a beaucoup de fichiers, et si le dernier fichier échoue, ce ne serait pas une bonne option, conservez la totalité des fichiers transférés avec succès.
Peut-être y a-t-il autre chose que SCP?
la source
-e ssh
est la valeur implicite par défaut depuis de nombreuses années, il n’est généralement plus nécessaire d’utiliser ce paramètre.smv() { rsync -az --remove-source-files "$@"; }
à ma boîte à outils. Merci.Utilisez
rsync
au lieu descp
:Plus d'infos avec
man rsync
.la source
La réponse à cette question a été très bien, et la réponse a été acceptée, mais comme elle a été placée en haut de la page de couverture, je pensais au moins que j'essaierais d'y répondre plus précisément, mais avec moins d'élégance. Oui, vous pouvez utiliser le code de retour de
scp
, et je le fais souvent. Dansbash
:Je comprends votre point sur la copie de plusieurs fichiers et la gestion des échecs en pile correctement, donc pour plusieurs fichiers:
Ce dernier n’est pratique que si vous utilisez
ssh-agent
, mais j’espère bien que vous l'êtes.la source
-l
indicateur. Par exemple,-l 8192
pour limiter les transferts à 8192 kb / sdans ma situation, le port ssh n’est pas 22, donc
travaille pour moi.
la source
si vous avez le même serveur cible que moi, vous ne pouvez pas utiliser
mais vous devez utiliser
au lieu.
la source
Si cela ne pose pas de problème en deux étapes, vous pouvez utiliser
scp
pour copier le fichier à partir du serveur distant, puis exécuterssh -e "rm /path/to/file"
pour le supprimer du disque. Lorsque vous déplacez des fichiers, en particulier entre ordinateurs, les choses peuvent mal tourner, il peut donc être judicieux d’effectuer la copie et la suppression séparément, et de ne supprimer le fichier que si vous êtes certain qu’il a bien été copié en premier.la source