educación, informática y demás

2509 - Automatización Scripts II

Automatizaciones. Bash Shell Script: eliminaEmpleado.sh

Continuamos con la serie de casos prácticos sobre automatización de un sistema GNU/Linux con shell script. La última entrada es: Automatizaciones. Bash Shell Script: nuevosUsuarios.sh

Resulta que nuestro jefe nos ha dado la enhorabuena por todo el trabajo que llevamos realizado. Ahora, que algunos proyectos están llegando a su fin, nos pide que vayamos gestionando la eliminación de cuentas de empleados del sistema.

Antes de eliminar la cuenta de empleado debemos crear una copia de seguridad de su directorio personal dentro del directorio de copias de seguridad de proyectos que estará en /educatica/2026/backup/staff.

La copia de seguridad de un usuario se almacenará dentro de un directorio con su nombre que estará en el directorio de copias de seguridad de proyectos (/educatica/2026/backup/staff).

De esta forma, el directorio de copias de seguridad del empleado solgm será /educatica/2026/backup/staff/solgm.

La copia de seguridad la almacenaremos en un fichero tar.gz con el nombre del usuario seguido de información de fecha y hora en el siguiente formato: yyddmm-hhss.

De esta forma, para el usaurio solgm que se elimina el día 23/01/2026 a las 11:25 sería: /educatica/2026/backup/staff/solgm/solgm-260113-1125.tar.gz

Una vez realizada correctamente la copia de seguridad del directorio personal del usuario, borramos la cuenta de usuario y su directorio personal.

Solución propuesta

Recibimos el nombre de una cuenta de empleado del sistema. Comprobamos si existe en el sistema, si no existe ya hemos terminado, porque no podemos hacer copia de seguridad.

Si no existe el directorio de copias de seguridad del usuario, lo creamos.

Determinamos el nombre del fichero de copia de seguridad obteniendo la fecha y hora actuales con el formato solicitado y después determinamos la ruta absoluta del fichero que contendrá la copia de seguridad.

Realizamos la copia de seguridad con tar y comprobamos que se realice correctamente. Si se ha realizado, entonces borramos la cuenta de usuario y su directorio personal.

Implementación

Vamos a probarlo

Dejar una respuesta