Linux: scp come processo in background 

Linux: scp come processo in background 

di Pubblicato: 21 gennaio 2016 0 commenti

Il comando SCP è utilizzato per trasferire file da un pc/server Linux ad un altro utilizzando la connessione SSH. Ovviamente non può essere certo considerato come mezzo di trasferimento per un uso assiduo, visto che per quello esiste già il protocollo FTP. Succede però che in determinati ambienti server, il protocollo SSH è l’unico che abbiamo a disposizione perché probabilmente un Firewall ci blocca.

Il comando utilizzato per spedire un determinato file con SCP è

scp NomeDelFileDaSpedire nomeutente@server:/path/destinazione

Parte la connessione e vi verrà chiesta la password per poter accedere al server remoto, dopo di chè si avvierà il trasferimento. Tutto questo avviene con la console aperta, ma se la chiudiamo il trasferimento si interrompe.

Nel caso, ovvero un buon 80% di probabilità, si debba trasferire un file piuttosto grosso, ci vedremo impegnati a dover tenere  la console accesa. Siccome stiamo trasferendo un file dal Server A al Server B, di fatto noi saremmo del tutto inutili; aggiungiamo che se succede qualcosa alla nostra connessione il trasferimento si interrompe e tocca ripartire dall’inizio.

A questo punto ci viene in aiuto il comando esterno nohup che di fatto elimina il SIGHUP dal nostro terminale, ovvero detto terra-terra il ritorno di feedback al nostro terminale, per cui si può letteralmente chiudere la console, o fare altro, senza che il comando si interrompa, se non per nostro preciso intervento.

Nel caso del nostro trasferimento via scp il comando diventerà:

nohup scp NomeDelFileDaSpedire nomeutente@server:/path/destinazione > conn.log 2>&1

Si può ben notare che la parte finale è presente la parte aggiuntiva “> conn.log 2>&1” ovvero come l’output di eventuali errori siano memorizzati nel file conn.log.

Fino a qui non c’è praticamente differenza poiché in questa fase ancora la connessione al terminale è vitale, visto che di fatto stiamo vedendo il trasferimento via SCP come di consueto. Per “mandarla” in background premiamo la combinazione di tasti “CTRL + Z” che sospenderà temporaneamente il lavoro, per poi impartire il comando bg che riprenderà quanto sopra ma lavorando dietro le quinte.

A questo punto riavremo la console indietro con il prompt in attesa di ricevere comandi. Se facciamo un ps –faux | grep -i scp vedremo il processo al lavoro per il trasferimento del nostro file.

Vuoi dire o aggiungere qualcosa?

sezione commenti aperta al pubblico

Non ci sono ancora commenti!

Puoi essere il primo a commentare.

Rispondi