A volte, come amministratori, abbiamo bisogno di condividere rapidamente i file tra i sistemi. Per qualsiasi motivo, dobbiamo ottenere un singolo tar
o conf
file da un sistema all'altro, o forse copiare un gruppo di file tra i sistemi. Scopriamo che è necessario installare un pacchetto o un'utilità per condividere i file oppure potrebbe essere necessario abilitare una funzione per condividere il contenuto. Indipendentemente dalla situazione, possiamo usare SimpleHTTPServer
di Python modulo come server web rapido.
Python -m SimpleHTTPServer
Il SimpleHTTPServer
module è un modulo Python che consente a uno sviluppatore di gettare le basi per lo sviluppo di un server web. Tuttavia, come amministratori di sistema, possiamo utilizzare il modulo per servire i file da una directory.
Utilizzo
Python deve essere installato per utilizzare SimpleHTTPServer
modulo. Python potrebbe essere installato come dipendenza da un'applicazione o un servizio già in esecuzione sul sistema. Esegui python -V
per verificarne la presenza. Per utilizzare il modulo per i nostri scopi, esegui il seguente comando dalla directory con i file che vogliamo condividere:
python -m SimpleHTTPServer
* Nota:il modulo è stato rinominato http.server
in python3
Il modulo carica e gestisce tutti i file all'interno della directory sulla porta 8000 per impostazione predefinita.
Dal sistema remoto, vai a http://<ip>
utilizzando il tuo browser preferito. Verrà visualizzato un elenco di directory in cui puoi aprire o scaricare qualsiasi file.
Un'altra opzione è usare wget
o curl
per scaricare i file nel sistema remoto.
wget http://<ip>:8000/filename
curl http://<ip>:8000/filename
Questo semplice server HTTP locale è una piccola utilità da utilizzare in quei momenti in cui è necessario trasferire file rapidamente tra i sistemi.
Casi d'uso
Questo suggerimento non sostituisce le effettive soluzioni di file hosting negli ambienti aziendali. Il SimpleHTTPServer
module è in realtà uno strumento di sviluppo utilizzato come strumento framework per gettare le basi per un server Web completo con tutte le funzionalità di sicurezza necessarie incluse. Tuttavia, possiamo utilizzare il modulo per i nostri scopi per:
- Servire rapidamente i file kickstart in un attimo - Copiare il
/root/anaconda-ks.cfg
o/root/original-ks.cfg
in una cartella e servire conpython -m SimpleHTTPServer
. Modifica la configurazione di grub all'avvio e il gioco è fatto. - Condividi un file su/da una VM:copia un file in una cartella e servilo con
python -m SimpleHTTPServer
. - Servire un file su una porta del firewall consentita:copia un file in una cartella e servilo con
python -m SimpleHTTPServer port
Altre opzioni
Puoi anche usare un while
ciclo con ncat
o /dev/tcp/host/port
per il trasporto... ma questo è un altro articolo. Spero che questa opzione sia uno strumento utile nella tua cassetta degli attrezzi.
Ricette
Potrebbe essere necessario aprire le porte nel firewall:
# firewall-cmd --add-port=portnumber/tcp
[ Scarica ora:una guida per l'amministratore di sistema allo scripting Bash. ]