Un ostacolo comune quando si lavora con i file è l'applicazione ricorsiva delle operazioni o su tutte le sottodirectory dell'intera cartella. il scp
L'utilità viene utilizzata per trasferire file e directory su server remoti e supporta operazioni ricorsive.
Esegui scp in modo ricorsivo
Sebbene a volte sia più veloce eseguire trasferimenti di grandi dimensioni su un singolo file noto come tarball, la maggior parte delle volte il sovraccarico del trasferimento di singoli file non ha importanza.
Copia ricorsivamente con scp
È facile: basta usare il -r
contrassegna contemporaneamente a qualsiasi altra cosa tu abbia aggiunto:
scp -r percorso locale utente@remoto:/percorso remoto
Nota che questo è esplicitamente minuscolo -r
, a differenza di molti altri comandi che usano o richiedono -R
.
Questo agirà come trascinare e rilasciare /remotepath/
, copiando il contenuto di localpath/
al telecomando e inserendoli in /remotepath/localpath/
.
e, Invece, voglio sincronizzare localpath/
e /remotepath/
, dovrai trasferire la cartella nella cartella principale di /remotepath/
, destino. Per questo caso, sarebbe /
, la directory principale.
Questo seguirà anche i collegamenti simbolici nel percorso locale durante la risoluzione dei problemi dei file, ma non creerà necessariamente quegli stessi collegamenti sul server remoto. Come esempio, copia un nuovo file da e verso /etc/nginx/sites-enabled
non lo posizionerà automaticamente in /etc/nginx/sites-available
sul telecomando.
Usando invece rsync
Linux ha diversi strumenti per gestire questo lavoro, e uno dei migliori è rsync
, che fa tutto scp
può fare, ma ha molte più opzioni ed è molto più veloce da avviare. Inoltre non copia i file che non sono stati modificati, il che lo rende un ottimo strumento per “sincronizzare” continuamente due directory tra loro senza ritrasferire i dati inutilmente.
rsync
funziona esattamente come scp
, con alcune altre opzioni incluse per specificare le impostazioni:
rsync -a -essh percorso locale/utente@remoto:/percorso remoto/
il -a
bandiera specifica modalità file, che attiva contemporaneamente molte opzioni di uso comune. il -e ssh
set di bandiere rsync
trasferire tramite SSH.
IMPARENTATO: Come usare rsync per eseguire il backup dei dati in Linux