Je n'ai jamais fait cela auparavant et je crée un script bash pour le faire pour moi. Je vais aussi me connecter via ssh pour faire certaines choses (que je sais déjà faire). Alors peut-être qu'il y a un moyen de télécharger des fichiers via ssh afin que je puisse tout faire en une seule connexion?
Comment puis-je faire ceci?
#!/bin/sh
cd ./files-to-upload
#upload the files
Vous pouvez utiliser scp
pour copier sur un ordinateur distant.
scp <file to upload> <username>@<hostname>:<destination path>
Vous recherchez probablement SCP ou similaire.
#!/bin/bash
cd ./files-to-upload
scp * user@Host:/path/to/upload/files/to
bien sûr, cela doit être ajusté à votre goût. Remplacez utilisateur @ Host par vos informations réelles. Vous serez invité à entrer un mot de passe pour le téléchargement.
Si vous devez vraiment utiliser ssh (au lieu de scp), vous pouvez faire:
for filename in *; do
cat $filename | ssh user@Host "cd /path/to/upload/files/to; cat - > $filename"
done
mais scp régulier (comme tangens suggestion) est le meilleur.
scp est la meilleure réponse car il serait crypté sur SSH.
Cependant, si vous voulez le faire sur un ftp standard, regardez ncftpput. Il est spécialement conçu pour télécharger un fichier:
NAME ncftpput - programme de transfert de fichiers Internet pour les scripts
SYNOPSIS ncftpput [options] remote-Host répertoire-distant fichiers-locaux ...
curl est un bon programme qui gère plusieurs protocoles.
Pour ec2 exemple, vous devez également transmettre le fichier .pem
,
$scp -i ~/Desktop/Amazon.pem ~/Desktop/file.Zip [email protected]:~/data/
Lorsque vous utilisez la commande scp
(copie sécurisée), elle se connecte au client et si vous n'avez pas déjà une empreinte digitale enregistrée pour le périphérique hôte, vous demander le mot de passe de l'hôte, sinon il devrait se connecter automatiquement à l'hôte, je crois.