PDA

View Full Version : Python e bash - accodare 2 o più comandi


gabmac2
23-09-2013, 22:08
E' possibile da una chiamata os di python fare ssh dentro qualcosa ,da qui spostarsi in un' altra cartella e copiare e/o visionare un file?
Grazie in anticipo

kwb
23-09-2013, 23:25
E' possibile da una chiamata os di python fare ssh dentro qualcosa ,da qui spostarsi in un' altra cartella e copiare e/o visionare un file?
Grazie in anticipo

Se devi solo copiare dei file, puoi usare rsync.
Lo invochi con la chiamata di sistema, in python:

import os
os.system("rsync -zrv --progress --ignore-existing 'nomeUtente@ipServer:percorso/file' destinazione/locale")

I parametri sono quelli che uso io. Dovresti guardarti il manuale di rsync per vedere cosa serve a te.

gabmac2
24-09-2013, 14:55
molto gentile,ad esempio dovendo fare
ssh..... ,poi cd ..... e more su un file
come si potrebbe scrivere?

kwb
24-09-2013, 19:06
molto gentile,ad esempio dovendo fare
ssh..... ,poi cd ..... e more su un file
come si potrebbe scrivere?
Ho provato con ssh, ma non c'è modo di passare anche i comandi...

gabmac2
24-09-2013, 22:14
risolto il problema,c' è il modo di evitare che vengano dati in output dalla funzione stringhe di riepilogo(sia se tutto va bene o c' è qualche errore?)

kwb
25-09-2013, 11:20
risolto il problema,c' è il modo di evitare che vengano dati in output dalla funzione stringhe di riepilogo(sia se tutto va bene o c' è qualche errore?)

prova con

comando > /dev/null 2>&1


EDIT: Fa il redirect dell'output ( 1 ) verso dev null e fa il redirect degli errori ( 2 ) verso l'output ( che viene redirezionato verso /dev/null ).

marco.r
25-09-2013, 15:19
E' possibile da una chiamata os di python fare ssh dentro qualcosa ,da qui spostarsi in un' altra cartella e copiare e/o visionare un file?
Grazie in anticipo

Prova anche a dare una occhiata a Fabric, potrebbe essere prorio quello che cerchi
http://docs.fabfile.org/en/1.8/

gabmac2
25-09-2013, 22:17
comando > /dev/null 2>&1 da python?

kwb
25-09-2013, 23:46
comando > /dev/null 2>&1 da python?

Nono, sempre dentro os.system

gabmac2
26-09-2013, 14:12
è possibile avere l' elenco completo?

kwb
26-09-2013, 14:16
Di cosa??:confused:

gabmac2
26-09-2013, 22:19
l' intero comando da dare

kwb
26-09-2013, 23:16
l' intero comando da dare


import os
os.system("rsync -zrv --progress --ignore-existing 'nomeUtente@ipServer:percorso/file' destinazione/locale > /dev/null 2>&1")

gabmac2
28-09-2013, 13:51
per inviare un file da locale a server,basta invertire in
os.system("rsync -zrv --progress --ignore-existing 'nomeUtente@ipServer:percorso/file' destinazione/locale")

locale e destinazione

kwb
28-09-2013, 19:15
Si