A veces, como administradores, necesitamos compartir archivos entre sistemas rápidamente. Por alguna razón, necesitamos obtener un solo tar
o conf
archivo de un sistema a otro, o tal vez copiar un grupo de archivos entre sistemas. Descubrimos que necesitamos instalar un paquete o una utilidad para compartir los archivos, o es posible que debamos habilitar una función para compartir el contenido. Independientemente de la situación, podemos usar el SimpleHTTPServer
de Python módulo como un servidor web rápido.
Python -m SimpleHTTPServer
El SimpleHTTPServer
module es un módulo de Python que permite a un desarrollador sentar las bases para desarrollar un servidor web. Sin embargo, como administradores de sistemas, podemos usar el módulo para servir archivos desde un directorio.
Uso
Python debe estar instalado para usar el SimpleHTTPServer
módulo. Python puede instalarse como una dependencia de una aplicación o servicio que ya se está ejecutando en el sistema. Ejecute python -V
para verificar su presencia. Para usar el módulo para nuestros propósitos, ejecute el siguiente comando desde el directorio con los archivos que queremos compartir:
python -m SimpleHTTPServer
* Nota:El módulo ha sido renombrado http.server
en python3
El módulo carga y sirve cualquier archivo dentro del directorio en el puerto 8000 por defecto.

Desde el sistema remoto, vaya a http://<ip>
utilizando el navegador de su elección. Se mostrará una lista de directorio donde puede abrir o descargar cualquier archivo.

Otra opción es usar wget
o curl
para descargar los archivos al sistema remoto.
wget http://<ip>:8000/filename
curl http://<ip>:8000/filename
Este simple servidor HTTP local es una pequeña y agradable utilidad para usar en esos momentos en los que necesita transferir archivos rápidamente entre sistemas.
Casos de uso
Este consejo no reemplaza las soluciones reales de alojamiento de archivos en entornos empresariales. El SimpleHTTPServer
El módulo es en realidad una herramienta de desarrollo utilizada como una herramienta de marco para sentar las bases de un servidor web completo con todas las funciones de seguridad necesarias incluidas. Sin embargo, podemos usar el módulo para nuestros propósitos:
- Servir rápidamente archivos kickstart en un abrir y cerrar de ojos - Copie el
/root/anaconda-ks.cfg
o/root/original-ks.cfg
a una carpeta y sirva conpython -m SimpleHTTPServer
. Edite la configuración de grub en el arranque y listo. - Compartir un archivo a/desde una VM:copie un archivo a una carpeta y sirva con
python -m SimpleHTTPServer
. - Servir un archivo en un puerto permitido de cortafuegos:copie un archivo en una carpeta y sirva con
python -m SimpleHTTPServer port
Otras opciones
También puedes usar un while
bucle con ncat
o /dev/tcp/host/port
para el transporte… pero eso es otro artículo. Espero que encuentre esta opción una herramienta útil en su caja de herramientas.
trampas
Es posible que deba abrir puertos en su firewall:
# firewall-cmd --add-port=portnumber/tcp
[ Descargar ahora:una guía para administradores de sistemas sobre secuencias de comandos Bash. ]