Site icon Tosolini.info

Linux: scp come processo in background 

Configurazione Server Blade per Vmware

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 è

[textmarker color=”000000″]scp NomeDelFileDaSpedire nomeutente@server:/path/destinazione[/textmarker]

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à:

[textmarker color=”000000″]nohup scp NomeDelFileDaSpedire nomeutente@server:/path/destinazione > conn.log 2>&1[/textmarker]

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 [textmarker color=”000000″] bg [/textmarker] 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 [textmarker color=”000000″]ps –faux | grep -i scp[/textmarker] vedremo il processo al lavoro per il trasferimento del nostro file.

Exit mobile version