it-swarm.dev

Vieni a caricare un file dalla riga di comando con FTP o SSH?

Non l'ho mai fatto prima e sto creando uno script di shell bash per fare questo per me. Mi collegherò anche tramite ssh per fare alcune cose (che so già come fare). Quindi forse c'è un modo per caricare i file tramite ssh in modo che io possa fare tutto in un'unica connessione?

Come posso fare questo?

#!/bin/sh

cd ./files-to-upload
#upload the files
29
Andrew

È possibile utilizzare scp per copiare su un computer remoto.

scp <file to upload> <username>@<hostname>:<destination path>
55
tangens

Probabilmente stai cercando SCP o simili.

#!/bin/bash

cd ./files-to-upload
scp * [email protected]:/path/to/upload/files/to

ovviamente questo deve essere ottimizzato a tuo piacimento. Sostituisci utente @ Host con le tue informazioni reali. Ti verrà richiesta una password da caricare.

6
John T

Se davvero devi usare ssh (invece di scp) puoi fare:

for filename in *; do
  cat $filename | ssh [email protected] "cd /path/to/upload/files/to; cat - > $filename"
done

ma lo scp regolare (come tangens suggerimento) è il migliore.

4
Jimmy Hedman

scp è la risposta migliore in quanto sarebbe crittografato su SSH.

Tuttavia, se vuoi farlo su ftp standard, guarda ncftpput. È progettato in modo specifico per caricare un file:

NAME ncftpput - Programma di trasferimento file Internet per script

SYNOPSIS ncftpput [opzioni] remote-Host file locali di directory remote-directory ...

1
DuPie

arricciatura è un buon programma che gestisce diversi protocolli.

0
Joe Internet

Per l'istanza di ec2, devi anche passare il file .pem,

$scp -i ~/Desktop/Amazon.pem ~/Desktop/file.Zip  [email protected]:~/data/
0
Elavarasan

Quando si utilizza il comando scp (copia protetta) si connette al client e se non si dispone già di un'impronta digitale salvata per il dispositivo Host, chiedi la password dell'host altrimenti dovrebbe connettersi automaticamente all'host che credo.

0
David