J'essaie de copier un fichier sur un serveur distant dans un certain dossier.
C'est un plan de sauvegarde adrive. Mais il vient avec scp. Je peux copier le fichier si je ne sélectionne pas le répertoire. Même si je mets un répertoire qui n'existe pas, il dit que c'est un répertoire.
root@Host1 [/usr/src]# scp ftpdelete.sh user@[email protected]:/mysql-only/
scp: /mysql-only/: Is a directory
Étonnamment dans mon cas, c'est que le répertoire n'existait pas !! : | Le message d'erreur est-il un bug? ... ou c'est moi. Tenté pour ce dernier.
SCP ne crée pas automatiquement de nouveau répertoire si vous voulez scp fichier (il crée un répertoire uniquement si vous faites une copie récursive). Il y a un mauvais message d'erreur. L'erreur doit être No such file or directory
ou similaire.
C'est un problème connu et il y a un bugzilla en amont à ce sujet [1].
Vous copiez le fichier sh
dans un nouveau répertoire sur le serveur, et le répertoire devrait être là mais en fait pas (alors la machine pense que vous voulez changer le fichier pour être un répertoire). Le répertoire que vous définissez est probablement incorrect.
-r 'Copie récursivement des répertoires entiers. Notez que scp suit les liens symboliques rencontrés dans la traversée de l'arborescence.
Mais il ne crée pas de répertoire mais vous pouvez le faire ci-dessous
ssh remote mkdir /diretcory
root@Host1 [/usr/src]# scp -r ftpdelete.sh user@[email protected]:/complete_path/mysql-only/
ou
rsync peut faire la création d'un répertoire s'il n'existe pas sa syntaxe de commande de base est similaire à scp: ²
$ rsync -r -e ssh ftpdelete.sh me @ my-system:/complete_path/mysql-only /
scp -r source_location user@servername:/target_location
J'ai vu une erreur similaire, lorsque j'ai essayé scp
vers le chemin d'accès relatif au répertoire home
. L'erreur a été corrigée après la suppression de l'interlignage inutile /
dans le chemin:
# scp ftpdelete.sh user@[email protected]:mysql-only/
plutôt que
# scp ftpdelete.sh user@[email protected]:/mysql-only/
^
Essayez de télécharger le fichier directement dans votre répertoire racine local, puis copiez-le à partir de là: root @ Host1 [/ usr/src] # scp user @ Host: /root/Desktop/file.txt/root/home /