Comandos de Linux para administrar Odoo
Odoo se ejecuta en Linux. No hay vueltas al respecto. En Argentina si uno pretende que Odoo (al menos la versión community de Odoo) se comunique con AFIP por la factura electrónica, necesita Linux. Esto que significa? que el administrador de Odoo (ni hablar el desarrollador) se debe sentir cómodo con Linux. No ser administrador de Linux, pero si estar familiarizado con una serie de comandos que se usan con frecuencia en un ambiente de Odoo.
No sabía que comandos enseñar, por eso listé los comandos que utilizo con frecuencia en un server de Odoo y los mismos son los siguientes:
history
Como su nombre indica, muestra el historial de comandos ejecutados. Utilizado con el comando grep, se puede listar de que manera se ejecuto un comando particular. Supongamos que queremos conocer como se ejecutó el comando odoo-bin (el binario de Odoo)
grep
Permite buscar un text en un archivo o en la salida de un comando (como vimos anteriormente con el comando history). Por ejemplo, si queremos buscar en forma recursiva (para buscar en subdirectorios) donde se define el campo afip_xml_request (el request al webservice de factura electrónica de AFIP) debemos ejecutar el siguiente comando:
cd /opt/odoo15
grep -ir afip_xml_request
Primero nos ubicamos en el directorio donde está instalado Odoo y luego ejecutamos la búsqueda. Nos devolverá todos los archivos donde se encuentra el texto que estamos buscando
nano
Es el editor más "user-friendly" que encontré en Linux. Soy fanático del vim, pero nano es muy sencillo de aprender e intuitivo. Solo tienen que tipear
nano <nombre del archivo a editar>
cd
Linux al igual que el DOS tiene una estructura de directorios jerárquica. Y la navegamos con el comando cd. Por ejemplo
cd /
para cambiar al directorio root
cd
cd HOME
para cambiar al directorio home del usuario
cd <nombre del directorio>
Para cambiar al directorio deseado, por ejemplo para cambiar al directorio donde por lo general se instala Odoo
cd /opt/odoo
y para cambiar al directorio donde por lo general se configura el log de Odoo
cd /var/log/odoo
ls
Permite listar los contenidos de un directorio. Con los flags lah se ven todos los atributos de los archivos, visto en forma lista en forma "humana"
ls -lah
rm
Permite borrar archivos y directorios. Por ejemplo
rm README.md
borra el archivo README.md. Si queremos borrar directorios
rm -r <nombre del directorio>
Desde ya... usar con mucho cuidado. No existe el undelete o undo con este comando
df
Permite conocer cuanto espacio en disco esta siendo utilizado (por ende permite saber cuando te quedaste sin espacio en disco en el server). Con el flag -h se puede ver un output "humano" (quiero ver una foto de quien ideó este flag)
ps
Lista los procesos que se encuentran en ejecución. En conjunto con el comando grep, permite saber cual es el proceso de Odoo. Por ejemplo,
Permite ver cuales son los procesos de Odoo en ejecución. En el ejemplo anterior, son los procesos con el ID 25205 y 25206
kill
Detiene el proceso que se le indica como parámetro. Por ejemplo para detener los procesos de Odoo del ejemplo anterior, se debe hacer
kill -KILL 25205
kill -KILL 25206
Se puede ejecutar siempre y cuando uno cuente con los permisos de ejecución necesarios. Utilizar el comando kill no es recomendable. Para detener y arrancar Odoo conviene utilizar systemctl
systemctl y tail
El comando systemctl permite detener y arrancar Odoo (más detalles en este post). En conjunción con el comando tail permite reiniciar Odoo al mismo tiempo que se puede observar por la terminal el contenido del archivo de log. Por ejemplo,
sudo systemctl restart odoo15 && sudo tail -f /var/log/odoo/odoo.log
apt-get update y apt-get upgrade
Actualiza los paquetes del sistema operativo Linux (si está usando una distribución basada en Debian). Es necesario hacerlo con frecuencia por cuestiones de seguridad y debe realizarse con mucho cuidado, ya que cualquier problema con la actualización de una librería, puede dejar sin servicio al sistema (por ejemplo, la factura electrónica). Pruébelo en sistemas de prueba y consulte a su administrador del sistema antes de hacerlo
find
Permite encontrar archivos y directorios. Muy util cuando uno empieza a trabajar con un server de un cliente, y no conoce la instalación. Por ejemplo, si queremos conocer donde está instalado Odoo
sudo find / -type f -name odoo-bin
Si queremos encontrar donde está instalado el módulo l10n_ar
sudo find / -type d -name l10n_ar
El primer parámetro indica desde donde comenzar la búsqueda (/ denota el directorio root), el parámetro -type indica si es archivo (f) o directorio (d) y el parametro -name indica el nombre del archivo directorio
sudo
Comando usado previo a cualquier otro comando. Le brinda permisos de root al comando que continua. Debe usarse con mucho cuidado y se lo utiliza muchas veces en el proceso de instalación. Por ejemplo;
sudo apt-get update
chown y chmod
El comando chown se utiliza para cambiar el "dueño" de un archivo o directorio. El comando chmod se lo utiliza para cambiar los permisos (lectura, escritura, ejecución, borrado) de un archivo. En Odoo se utiliza con frecuencia el chown, por lo general cuando se copia un módulo al directorio donde se disponibilizan los módulos. Por ejemplos, supongamos que queremos cambiar el owner a odoo15 de los subdirectorios de donde nos encontramos ubicados
man
Permite conocer la documentación del comando. Por ejemplo, si queremos conocer la documentación del comando find
man find
Acerca de:
Gustavo Orrillo
Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.