Lo sapevi?

A partire dal 2015 abbiamo sviluppato internamente un sistema statefull di protezione dagli attacchi DDoS. Attualmente la protezione di core è erogata grazie a un cluster di server in load balancing. Abbiamo inoltre sviluppato un sistema di pre-filtering a livello di routing. Inoltre, in caso di attacchi superiori alla capacità di rete, le network interessate vengono filtrate grazie alla protezione remota Corero.

Come trasferire file tra PC e VPS con SCP e rsync

Estimated reading: 4 minutes 9 views

Quando si amministra una VPS può essere necessario trasferire file tra il proprio computer e il server, ad esempio per caricare un sito, scaricare un backup, copiare una configurazione o spostare una cartella.

Su Linux è possibile effettuare questi trasferimenti direttamente dal terminale utilizzando principalmente scp e rsync. Entrambi utilizzano la connessione SSH, quindi non è necessario installare un servizio FTP sulla VPS.

In questa guida vedremo come copiare file e cartelle dal PC alla VPS e viceversa, oltre a come utilizzare rsync per trasferimenti più efficienti.

Prerequisiti

Prima di procedere assicurati di avere:

  • una VPS raggiungibile tramite SSH
  • l’indirizzo IP o il dominio della VPS
  • il nome dell’utente con cui accedere al server
  • la porta SSH utilizzata dalla VPS
  • scp o rsync disponibili sul computer da cui effettui il trasferimento

Se utilizzi una porta SSH diversa da quella predefinita, dovrai specificarla nei comandi.

Trasferire un file dal PC alla VPS

Per copiare un file dal computer alla VPS utilizza scp:

				
					scp file.txt utente@IP_VPS:/percorso/destinazione/
				
			

Il comando trasferisce sito.zip nella directory /var/www/ della VPS.

Durante l’operazione verrà richiesta la password dell’utente SSH, a meno che non sia già configurato l’accesso tramite chiave SSH.

Se la connessione SSH utilizza una porta diversa dalla 22, puoi specificarla con l’opzione -P:

				
					scp -P 2222 sito.zip root@2.55255.255.255:/var/www/
				
			

Trasferire un file dalla VPS al PC

Il funzionamento è inverso quando vuoi scaricare un file dalla VPS.

Utilizza:

				
					scp utente@IP_VPS:/percorso/file.txt .
				
			

Il punto . indica la directory corrente del computer.

Il file backup.sql verrà copiato nella directory da cui hai eseguito il comando.

Anche in questo caso puoi specificare una porta SSH personalizzata:

				
					scp -P 2222 root@2.55255.255.255:/var/backups/backup.sql 
				
			

Trasferire un'intera cartella

Per trasferire una directory è necessario utilizzare l’opzione -r, che permette di copiare anche i file e le sottocartelle contenuti al suo interno.

Per inviare una cartella dal PC alla VPS:

				
					scp -r sito/ utente@IP_VPS:/var/www/
				
			

Per scaricare invece una cartella dalla VPS:

				
					scp -r utente@IP_VPS:/var/www/sito/ .
				
			

Questa modalità è pratica per trasferimenti occasionali, mentre per sincronizzare frequentemente directory di grandi dimensioni può essere più conveniente utilizzare rsync.

Sincronizzare file e cartelle con rsync

rsync è particolarmente utile quando devi trasferire più volte gli stessi file. A differenza di una semplice copia, infatti, può trasferire solamente le parti che sono cambiate, riducendo il tempo e la quantità di dati trasferiti.

Per sincronizzare una cartella dal PC alla VPS:

				
					rsync -avz sito/ utente@IP_VPS:/var/www/sito/
				
			

Le opzioni utilizzate sono:

  • -a mantiene struttura, permessi e altre informazioni dei file;
  • -v mostra le operazioni eseguite;
  • -z comprime i dati durante il trasferimento.

Per sincronizzare una cartella dalla VPS al PC puoi invertire sorgente e destinazione:

				
					rsync -avz utente@IP_VPS:/var/www/sito/ sito/
				
			

Anche rsync utilizza SSH per la connessione.

Se la VPS utilizza una porta SSH personalizzata:

				
					rsync -avz -e "ssh -p 2222" sito/ utente@IP_VPS:/var/www/sito/
				
			

Verificare il trasferimento prima di eseguirlo

Quando utilizzi rsync, soprattutto su directory importanti, può essere utile verificare in anticipo quali file verrebbero modificati senza effettuare realmente il trasferimento.

Puoi utilizzare --dry-run:

				
					rsync -avz --dry-run sito/ utente@IP_VPS:/var/www/sito/
				
			

In questo modo verranno mostrate le operazioni che rsync eseguirebbe, ma nessun file verrà modificato.

È una buona pratica quando si lavora con directory di produzione o con grandi quantità di dati.

Quale comando scegliere

La scelta dipende principalmente dal tipo di trasferimento:

SCP è indicato quando devi copiare rapidamente uno o pochi file, oppure effettuare un trasferimento occasionale.

rsync è invece più adatto quando devi sincronizzare directory, effettuare trasferimenti ripetuti o lavorare con molti file, perché evita di trasferire nuovamente dati che non sono cambiati.

Entrambi utilizzano SSH, quindi i dati vengono trasferiti attraverso una connessione cifrata.

Leave a Comment

Share this Doc

Come trasferire file tra PC e VPS con SCP e rsync

Or copy link

CONTENTS