Programar tareas con crontab.

El ejemplo a continuación es adecuado para plataformas linux y puede variar de acuerdo a la distribución usada. Se ha probado con la distribución Ubuntu.

1 – Creamos un script ‘listar_directorio.sh’ en nuestro directorio de usuario con el comando ‘touch /home/nombre_usuario/listar_directorio.sh’.

2 – Editamos el archivo ‘listar_directorio.sh’ con ‘nano /home/nombre_usuario/listar_directorio.sh’ y colocamos el siguiente código dentro:

#!/bin/bash
#script de ejemplo
ls -l / > /home/nombre_usuario/listado.txt

3 -Al ejecutar el script, éste lista el contenido del directorio raíz (/) del sistema y lo copia en un archivo ‘listado.txt’ en nuestro directorio de usuario. Pero para que este archivo sea ejecutable luego desde crontab debemos asignarle los permisos correspondientes con el comando chmod ugo+x /home/nombre_usuario/listar_directorio.sh

4 – Ver lista de tareas programadas con crontab (esto no es obligatorio):

sudo crontab -l

5 – Crear una nueva tarea programada con crontab en el archivo cron del usuario:

sudo crontab -e

6 – Estando en el archivo crontab del usuario no dirigimos al final del archivo y añadimos la siguiente línea:

* * * * * /home/nombre_usuario/listar_directorio.sh

Con esto, el script se ejecutaría cada minuto de cada hora de cada día.

Para más detalles de la sintaxis de crontab se puede visitar el sitio usado como referencia: https://geekytheory.com/programar-tareas-en-linux-usando-crontab

GitLab

Crear un ‘personal access token’.

Esto es para poder conectar con el servicio de la api de GitLab Enterprice, seguir los pasos a continuación:

1 – Ir a la dirección https://gitlab.com/profile/personal_access_tokens

2 – Añadir un nombre para el ‘personal access token’ en el primer campo que dice ‘Name’.

3 – Añadir una fecha de expiración en el campo que dice ‘Expires at’ si se requiere que el ‘personal access token’ tenga fecha de vencimiento, si no se deja vacío.

4 – Se debe indicar el alcance que tendrá el ‘personal access token’ marcando las casillas de verificación necesarias, las cuales están ubicadas bajo la etiqueta ‘Scopes’. Se debe seleccionar al menos la casilla que dice ‘api’ si se quiere permisos de lectura y escritura sobre los recursos disponibles.

Para el proceso de crear un ‘personal access token’ para conectar con el servicio de api de GitLab Community se siguen los mismos pasos descritos anteriromente y el proceso para la lectura de los diferente puntos de accesos es también el mismo.

Instalación y configuración de phpmyadmin.

Ejecutar los siguientes comandos para la instalación:

-Actualización de lista de repositorios:
sudo apt update

-Instalación de phpmyadmin:

En este paso se debe elegir apache2 como servidor web marcándolo con la tecla de espaciado para que quedé fijado con un asterisco.
Luego se debe aceptar la configuración de la base de datos de phpmyadmin con dbconfig-common.

-Habilitar la extensión de php mbstring con:
sudo phpenmod mbstring

-Reiniciar el servidor:

Si aún no se ha configurado el usuario root de mysql, se ejecutan los comandos siguientes:

-Acceso al cliente mysql:
sudo mysql

-Verificar las cuentas de los usuarios actuales:
SELECT user,authentication_string,plugin,host FROM mysql.user;

-Si el usuario root tiene fijado ‘auth_socket’ como método de autenticación, se ejecuta:

Donde password es la nueva contraseña

-Guardar cambios:
FLUSH PRIVILEGES;

-Se verifica nuevamente el método de autenticación del usuario root con:
SELECT user,authentication_string,plugin,host FROM mysql.user;

Si al momento de realizar la instalación no marcamos correctamente el servidor apache2, podemos reconfigurarlo con:
sudo dpkg-reconfigure phpmyadmin

Esto nos permite configurar nuevamente phpmyadmin. Hay que recordar marcar el servidor apache2 pulsando la tecla de espacio para que le coloque un asterisco.

En caso de tener que desinstalar phpmyadmin completamente se puede seguir esta guía:
Desinstalar phpmyadmin

Para desinstalar unicamente phpmyadmin en Ubuntu 16.04 (Xenial Xerus) ejecutar los siguientes comandos:

Desinstalar phpmyadmin e los paquetes dependientes

Para desinstalar el paquete phpmyadmin y todos los paquetes dependientes que ya no sean necesarios en Ubuntu Xenial.

Purga phpmyadmin

Usted también puede eliminar la información de configuración del phpmyadmin en Ubuntu Xenial ejecutar lo siguiente comando:

Para eliminar la información de configuración del phpmyadmin y todos los paquetes dependientes en Ubuntu Xenial ejecutar:

https://www.howtoinstall.co/es/ubuntu/xenial/phpmyadmin?action=remove

Avances LMS 08-08-2019

2. Registro visible en el hilo del ticket (que el staff que ha entrado y lo ha visto no se borre la huella que deja en el hilo del ticket, revisar 24h, 48, 72h etc).Que cuando un agente haya entrado en un ticket se genere un registro visible y permanente en el hilo de ese ticket (de esta forma el jefe de equipo podrá controlar quien lo ha visto y no lo ha gestionado). Esto ya se estableció, pero no funciona correctamente ya que no aparece siempre y desaparece al tiempo X.(En proceso…)

-Corregir el formato de la fecha mostrada en las visitas extra.(Terminado)

-Corregir el formato de la fecha mostrada en el atributo ‘title’ de las visitas extra.(Terminado)

-Revisar si las fechas de las visitas mostradas son correctas.(Terminado)
-Editar el archivo de clase ‘class.thread.php’ para modificar la visualización de los eventos de visitas directamente en el método ‘template(…)’ de la clase ‘ThreadEvent’.(Terminado)
-Cambio de métodos de formateo de fechas predeterminado de osTicket por métodos manuales.(Terminado)

Material de apoyo: https://es.stackoverflow.com/questions/23937/transformar-una-fecha-dada-en-formato-yyyy-mm-dd-a-string-en-javascript

-Pendiente por revisar fecha de registro de evento de visita.(PENDIENTE)

Configurar repositorio local con git.

Para configurar los datos de un repositorio local individualmente seguimos los pasos a continuación:

1) Nos dirigimos al la carpeta raíz del repositorio en cuestión.

2) Listamos las variables definidas actualmente para verificar si están las correspondientes al nombre y al email del usuario. Usamos el comando git config –list –local.

3) Si aún no están definidas las variables user.name y user.email o si queremos cambiar sus valores ejecutamos:
git config –local user.name «nombre_usuario»
git config –local user.email «email_usuario»

Aplicación de multi-idioma a páginas estáticas.

Estructura del proyecto:

proyecto/
css/
global.css
structure.css
custom.css

images/

js/
eittech_ 700×365.js
scripts.js
email.js
contact.js

lang/
en/
menu.php
footer.php
language.php
maintenance.php
pagina1.php
pagina2.php
pagina3.php
pagina4.php

es/
menu.php
footer.php
language.php
maintenance.php
pagina1.php
pagina2.php
pagina3.php
pagina4.php


plugins/ (se puede obviar)

signature/ (se puede obviar)

index.php
home.php
lang.php
check_url.php
config.php
menu.php
footer.php
pagina1.php
pagina2.php
pagina3.php
pagina4.php

Descripción de la estructura del proyecto:

-css/: Carpeta donde irán los archivos de estilos tanto de la plantilla como añadidos.

-images/: Carpeta donde irán las imágenes del proyecto.

-js/: Carpeta donde irán los scripts y librerías js del proyecto, tanto de la plantilla como añadidos.

-lang/: Carpeta que contendrá los archivos de configuración de idiomas. Tendrá tantos subdirectorios como idiomas se le agreguen al proyecto y cada subdirectorio tendrá tantos archivos como páginas tenga el proyecto. Además cada archivo de idioma debe llamarse igual a la página a la que haga referencia. También contiene los archivos de idioma correspondientes al menú, el pie de página, los propios idiomas y la página de mantenimiento.

-plugins/ y signature/: Carpetas sin uso claro de momento mientras se determina su utilidad.

-index.php: Archivo que carga los idiomas, las configuraciones y muestra la página de inicio (home).

-home.php: Archivo que muestra la página de inicio.

-lang.php: Archivo donde se valida la carga del idioma seleccionado por el visitante. Si no se ha seleccionado un idioma se toma por defecto el español.

-check_url.php: Archivo donde capturamos mediante la url el nombre de la página actual con el objetivo de marcar el menú correspondiente y también de ser usado en ciertas tareas de configuración.

-config.php: Archivo de configuración donde se habilitan o deshabilitan elementos de las páginas como el menú y el footer. Además contiene la configuración para habilitar/deshabilitar la página de mantenimiento.

-menu.php: Archivo donde se construye el menú en base a los items existentes en los archivos de configuración de idiomas de menu. Este archivo es incluido al inicio de cada página en el área destinada para ello, teniendo en cuenta si está habilitado desde el archivo de configuración config.php.

-footer.php: Archivo donde se aloja el código del pie de página. Este archivo es incluido al final de cada página en el área destinada para ello, teniendo en cuenta si está habilitado desde el archivo de configuración config.php.

Cabe destacar que las páginas a las que se les aplicará las etiquetas multi-idioma deben ser convertidas a extensión .php

Actualización de OpenVPN Ubuntu 16.04.6 LTS

Lo siguiente es el proceso de actualización del paquete openvpn de la versión 2.3 a la 2.4 para poder conectar con los servidores de LMS:

-Repositorio oficial añadido con los siguientes comandos de la página https://community.openvpn.net/openvpn/wiki/OpenvpnSoftwareRepos:

 

Instalación y configuración de mySQL por consola

CAMBIAR LA DIRECCION FISICA DE LOS ARCHIVOS DE DB DE MySQL

check the current data directory of MySQL:

mysql> select @@datadir;
+—————–+
| @@datadir |
+—————–+
| /var/lib/mysql/ |
+—————–+

se cambio Agrega la nueva ubicacion en apparmor:

Se reinicia el apparmor

En caso de Mostrar el Siguiente error:
Job for apparmor.service failed because the control process exited with error code.
See «systemctl status apparmor.service» and «journalctl -xe» for details.

Create the minimal directory structure:

 

mysql> select @@datadir;

FUENTES:

MySQL: Move Data Directory to a New Location on Ubuntu 16.04

DESINTALAR TOTALMENTE MySQL

 

A continuación se enumeran algunos recursos de internet para la administración de mysql desde la consola de linux. Se abarcan desde los comandos típicos de consulta de datos de tablas hasta la conexión y administración de un servidor mysql remoto.

¿Cómo resetear la password de ROOT en MYSQL o MariaDB

En caso de pérdida del acceso root en MYSQL, puedes seguir el siguiente procedimiento para recuperar la clave root. Este tutorial vale para versiones anteriores o nuevas de MYSQL o MariaDB

Requisito

Tener acceso de superusuario al servidor

Paso 1: Identificar la versión de la base de datos. Puedes utilizar la siguiente orden para identificar la versión de la base de datos que estás utilizando

Verás la siguiente salida en consola, varía en función de la versión

Si se trata de MYSQL

mysql Ver 14.14 Distrib 5.7.16, para Linux (x86_64) usando el envoltorio EditLine

Si se trata de MariaDB

mysql Ver 15.1 Distrib 5.5.52-MariaDB, para Linux (x86_64) usando readline 5.1

Acuérdate de la versión que estás utilizando, luego tendrás que aplicar unos comandos u otros

Paso 2: Parar el servidor de base de datos

En el caso de MYSQL

En el caso de MariaDB

Paso 3: Reiniciar el servidor de base de datos sin chequeo de permisos

Arranca el servidor en modo safe sin tabla de verificación de permisos con la siguiente orden.

Ahora te conectas al servidor como root sin contraseña

Paso 4: Cambiar la clave de root

Vamos a pedir al servidor que recargue las tablas GRANT con el siguiente comando

PRIVILEGIOS DE LAVADO;

Ahora podemos cambiar la clave

Para MySQL 5.7.5 y versiones anteriores así como MariaDB 10.1.20 y versiones anteriores, usar el siguiente comando:

Si ALTER USER no funciona, prueba el siguiente comando:

ACTUALIZAR

FLUSH PRIVILEGES; (si no ha funcionado la primera vez)

salida

Consulta OK, 0 filas afectadas (0.00 seg)

La clave ha sido cambiada

Paso 5. Arrancar la base de datos manualmente

En MySQL,

En MariaDB,

Ahora prueba loggear en mysql con la nueva clave que has metido

 

————————————————————————————————————————————
Proceso de re-instalación de mysql-server en los servidores de LMS:

-Desinstalar mysql con ‘sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-5.7’.

-Reinstalar mysql con ‘sudo apt install mysql-server’.

-Configurar mysql con ‘sudo mysql_secure_installation’ (sin habilitar validación de contraseñas seguras).

-Cambiar clave del usuario root de mysql: soladmin123**
-Listado de comandos:

-Dar privilegios totales al usuario root@’localhost’ sobre todas las bases de datos con ‘GRANT ALL PRIVILEGES ON *.* TO root@’localhost’ IDENTIFIED BY ‘soladmin123**’;’.

-Dar privilegios totales al usuario root@’%’ sobre todas las bases de datos con ‘GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ‘soladmin123**’;’.

-Crear nuevo usuario ‘soladmin’ con contraseña ‘soladmin’ con ‘CREATE USER ‘soladmin’@’localhost’ IDENTIFIED BY ‘soladmin’;’.

-Crear base de datos ‘soldb’ con ‘CREATE DATABASE soldb;’.

-Dar privilegios totales al usuario soladmin@’localhost’ sobre la base de datos ‘soldb’ con ‘GRANT ALL PRIVILEGES ON soldb.* TO soladmin@’localhost’ IDENTIFIED BY ‘soladmin’;’.

-Dar privilegios totales al usuario soladmin@’%’ sobre la base de datos ‘soldb’ con ‘GRANT ALL PRIVILEGES ON soldb.* TO soladmin@’%’ IDENTIFIED BY ‘soladmin’;’.