Je me demande si scp créera le dossier cible s'il n'existe pas sur le serveur distant. Par exemple, cela fonctionnerait-il?
scp -r /data/install/somefolder [email protected]:/data/install/somefolder
Voici le dossier /data/install/somefolder
n'existe pas sur le serveur ftp, donc cette commande le créerait-elle?
N.B. J'ai lu sur rsync mais je ne sais pas vraiment comment cela fonctionne ou comment l'utiliser.
Pour réaliser la tâche avec ssh et scp (au lieu de rsync):
Permet de se diviser en 2 étapes:
ssh [email protected] "mkdir -p /data/install/somefolder"
scp -r /data/install/somefolder [email protected]:/data/install/somefolder
server="[email protected]"
destiny="/data/install/somefolder"
src="/data/install/somefolder"
ssh "$server" "mkdir -p $destiny" && scp -r "$src" "$server:$destiny"
Réponse courte: non.
... mais rsync le fait, c'est pourquoi j'ai alias scp pour rsync -Pravdtze ssh
sur ma boîte. Oui, c'est beaucoup de commutateurs, qui en combinaison produisent mon comportement rsync préféré. Comme rsync fournit un ensemble très étendu de commutateurs et d'options, je vous suggère de faire des recherches à ce sujet pour voir ce qui correspond le mieux à vos besoins. La page de manuel est un bon point de départ, mais de nombreuses informations sont facilement disponibles. Voici une liste décente d'exemples .
Modifier: En fait, dans ce cas particulier que vous avez publié, le dossier sera créé, car c'est le dossier que vous copiez. Cependant, si vous essayez de le copier dans user@remotehost:somenonexistentfolder/somefolder
, alors il échouera.