J'utilise la commande scp pour copier certains fichiers sur un PC distant, comme vous le faites avec scp :)
Je remarque que le comportement par défaut d'une copie scp pour les fichiers consiste à écraser tous les fichiers existants. Maintenant, je veux copier un dossier afin que je fasse essentiellement la même chose:
scp -r <source_path> user@myOtherPc:<dest_path>
Où les parties de <> sont les chemins de mes dossiers. Cependant, lorsque je lance ceci, je reçois le message "le fichier existe". Y a-t-il un moyen de contourner ceci? une sorte de force écrasante?
Merci, fourrage
-v
. En outre, utilisez-vous un chemin absolu ou relatif du côté de la destination? Je pense que si le dossier de destination existe déjà, il va créer le chemin source à l'intérieur du dossier de destination plutôt que d'écraser (testdir/testdir
)Réponses:
Comme indiqué précédemment, scp écrase volontiers tout fichier déjà présent.
Le problème "Le fichier existe" ne peut se produire que si vous avez un autre processus (comme un processus scp simultané ou autre) en train d'écrire des dossiers et des fichiers dans la même destination. Pensez à utiliser rsync à la place.
la source
Comme Levans, je suis incapable de reproduire cela, mais avez-vous plutôt envisagé d'utiliser rsync sur ssh? Si vous copiez un grand nombre de fichiers, rsync peut être une meilleure option que scp. Il existe un certain nombre de bons guides en ligne, tels que:
http://troy.jdmz.net/rsync/index.html https://calomel.org/rsync_tips.html
Ce premier lien concerne les sauvegardes automatisées via cron. Par conséquent, certaines instructions (comme la création d'une clé ssh sans phrase secrète) peuvent ne pas être pertinentes pour vous.
la source
Vous recevrez ce message d'erreur si le répertoire de destination contient déjà un fichier portant le même nom que le répertoire source que vous tentez de transférer. Vous ne pouvez pas avoir un fichier portant le même nom qu'un répertoire dans le même répertoire.
la source