¿Cómo configurar archivos de historial de Bash individuales para cada contenedor junto con un archivo de historial unificado?

¿Cómo configurar archivos de historial de Bash individuales para cada contenedor junto con un archivo de historial unificado?

En mi configuración actual, todos mis historiales de bash se almacenan en un solo archivo, que apunta aHISTFILE.

Este historial incluye un historial del sistema host y de todos los contenedores.

Junto con este historial, quiero configurarlo por contenedor bash_history_<cont_name>.

Detalles de configuración:

  • El sistema host tiene una configuración de contenedores acoplables.
  • Todos los contenedores se han /home/uname/compartido con el anfitrión. (.bashrc también se comparte)
  • Todo el historial de comandos [del host y de todos los contenedores] se escribe en HISTFILE.
  • Para actualizaciones rápidas de HISTFILE, el mensaje se actualiza en .bashrc de la siguiente manera.
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"

Junto con este sistema implementado. También quiero guardar el historial de comandos utilizados en contenedores en un archivo dedicado únicamente a ese contenedor.

Ex. Para los contenedores ContA, ContB,el historial de comandos se guardará en un 'HISTFILE' común, y también se debe actualizar el historial de comandos de los respectivos contenedores. Para ContA, ~/bash_history_ContAtambién debería actualizarse.

PD: el historial de comandos de un solo archivo se actualiza tan pronto como se ejecuta el comando. El bash_history_<cont_name>por contenedor podría ser un archivo actualizado de forma diferida.

Respuesta1

Para "El historial de comandos de un solo archivo se actualiza tan pronto como se ejecuta el comando", puede hacerlo conuna de las 3 respuestas a esta pregunta(prueba el que funcione mejor para ti)

En PROMPT_COMMAND también puede agregar cualquier redirección a cualquier archivo global que desee: ¿simplemente agregue el último comando antes de cada mensaje? (cuidado: algunas pueden ser multilínea)

información relacionada