¿Cómo puedo grabar comandos de Linux?


9

¿Hay alguna forma de registrar los comandos de Linux que uso y reutilizarlos en otra máquina o en caso de que quiera reinstalar la máquina?

En el ejemplo, ¿cómo configuro NginX, PHP y los permisos en mi entorno de laboratorio y luego repito los comandos exactos en mi máquina de implementación?

Respuestas:


19

Me parece que quieres guión (1) .

Le permite grabar y reproducir sesiones de terminal.

Por otro lado, si está tratando de automatizar configuraciones, considere la administración de configuraciones, como títeres .


Gracias por Puppet, se ve bien. Leeré más al respecto.
Jonas

1
+1 para títeres. Esta es una forma mucho mejor de hacerlo que simplemente grabar comandos de shell.
EEAA

+1. cfengine es un competidor de Puppet, también
gWaldo

2

Dos formas en las que puedo pensar en la parte superior de mi cabeza:

  • Use el historial de comandos incorporado

  • Haz todo en una sesión de pantalla y habilita el registro


2

Bash registra comandos en un archivo llamado ~ / .bash_history. Esto funciona si hace todo a través de una línea de comando y en una ventana de comando.

Sin embargo, tenga en cuenta que limita el tamaño de ese archivo a los 1000 comandos más recientes (por defecto).


0

probar esto

script / tmp / it356658 - $ (uname -n) .out

# fecha


Está dirigiendo scriptla salida a un archivo en particular. El nombramiento es inusual, pero probablemente extraído de un script de shell más grande tal vez.
mctylr

1
La $(uname -n)línea de comando lo interpreta para ejecutar el unamecomando con la -nbandera para imprimir el nombre de host del sistema.
mctylr


0

Normalmente uso un comando como history > ~/tmp/hhpara guardar un archivo de historial. Luego uso vi, salto al final con el comando G y luego busco hacia arriba hasta encontrar la parte que estaría cerca de un punto de entrada útil en un script. A partir de ahí, colapso lscomandos extraños , combino series de incrementales cden directorios, agrego comentarios y empiezo a descubrir qué partes deben ser argumentos, qué cosas deben ser configuraciones del entorno y qué cosas deben estar codificadas. Añado muchos comentarios. A veces, "punt" en partes de la automatización y solo le doy algunas instrucciones al usuario (busque esta configuración, sshpara buscar y ..., elimine los comentarios de este archivo y muévalo a blarg) o echouna URL ... y un mensaje cadena como: 'Foo configurado y salir>'

(Cuando puntúa en una edición de archivo automatizada ... sugiero agregar el código instructivo al archivo, como comentario, y usar algo como el interruptor de línea de comando vi + para colocar el cursor del editor cerca del final del archivo, en la parte superior de sus instrucciones. Por ejemplo, con 5 líneas de texto instructivo (un documento aquí, por ejemplo) que agregaría '+$-5'a la vilínea de comando, antes del nombre del archivo ( $-5es un exencantamiento antiguo para abordar la última línea del archivo, menos cinco líneas; el cambio relativamente oscuro +para viaceptar cualquier ex... : comando ... como argumento).

Otro truco ... suponiendo que la mayor parte de su trabajo desde un terminal sistema de ventanas X ( xterm, konsole, gnome-terminal, etc.) a continuación, mantener un navegador abierto en algunas páginas wiki a medida que avanza. Corta y pega comandos, resultados, fragmentos de archivos de texto y anota notas sobre la marcha. (Esto supone en su mayoría que está trabajando principalmente en sus servidores sshdesde su estación de trabajo, computadora de escritorio, computadora portátil o lo que sea).

Ahorre temprano y con frecuencia.

Crea nuevas páginas wiki para diferentes procesos o etapas. Luego, enlácelos y enlácelos a cualquier referencia en la red. (Ya sabes, todas esas páginas de Google que usaste cada vez que te quedaste atascado en cualquier momento).

Algunos de mis mejores documentos COMO han sido creados de esta manera.

Si lo haces bien, entonces podrías ser capaz de quitarte el trabajo de la forma tradicional, delegando al miembro del equipo junior ... o al ansioso interno. :)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.