279 - Programar tareas en Linux y dedícate a otra cosa

PodcastPodcast

279 - Programar tareas en Linux y dedícate a otra cosa

¿Como programar tareas en Linux?¿Que tareas programar en Linux? Mejora tu sistema y tu flujo de trabajo utilizando cron o Systemd, a elegir

1:25
-3:15

En ocasiones nos empecinamos en realizar determinadas tareas una y otra vez, en lugar de programar esas tareas e invertir ese tiempo en otros menesteres mucho mas productivos. Hay trabajos y operaciones no requieren ni tu presencia, ni tu atención. Simplemente tienes que ponerlos en marcha, y como mucho, una vez han terminado, averiguar cual ha sido el resultado. Y sin embargo, nos empeñamos en poner en marcha nosotros mismos esas tareas, y seguir su evolución, como si con nuestra mirada, esa tarea fuera a ir mejor. Olvídate de eso, lo que debes hacer es programar tareas en Linux y dedicarte a otra cosa, que sea mucho mas productiva para ti.

Otra de las cuestiones, es que en ocasiones, nos encontramos repitiendo una tarea, una y otra vez, por que no encontramos tiempo para programar esa tarea. Esta es una de las excusas mas absurdas que te puedes plantear. Si, lo piensas, solo el tiempo que has perdido realizando tu mismo la tarea, podías haberlo invertido en programar esa tarea varias decenas de veces.

Así, este episodio del podcast está dedicado a programar tareas en Linux, para que puedas invertir mejor tu tiempo.

Programar tareas en Linux y dedícate a otra cosa

Programar tareas en Linux y dedícate a otra cosa

Cron o Systemd

Se que estás convencido sobradamente de esto de programar tareas en Linux, y no porque yo haya influido con mis palabras, sino porque tu ya eras consciente de ello hace tiempo. Sin embargo, ¿como programar tareas en Linux?

Si acabas de llegar a Linux, es posible que todavía no conozcas como puedes programar tareas en Linux. En este caso, te digo que tienes, diferentes opciones, como sucede con cualquier con en Linux. Siempre hay varios caminos para llegar a la meta.

En concreto en este podcast te quiero hablar de utilizar o bien cron o bien los timer de Systemd tal y como te comento en el capítulo correspondiente del tutorial sobre Systemd en el que puedes encontrar como reemplazar cron con Systemd Timer

Y ¿por cual me decanto? Pues te voy a confesar, que yo los utilizo de indistintamente, dependiendo de ocasiones utilizo uno u otro. Para mi la ventaja de Systemd es que son procesos completamente independientes. Con Systemd tienes un archivo por timer, mientras que en el caso de cron, lo tienes que programar todos con crontab.

Por otro lado, tienes la ventaja de la sencillez de cron, que en una línea lo tienes resuelto.

Sinceramente, poco a poco, estoy migrando esas tareas de cron a Systemd, pero esto ya lo dejo a tu elección.

¿Que tareas programar en Linux?

Habiéndote decidido a programar tareas en Linux, para invertir ese tiempo en otras cosas… ¿Que tareas puedo programar?. Y no solo se trata de programar las tareas para tener mas tiempo sino también para estar mas seguro, para realizar todas las tareas de mantenimiento que dejen tu sistema operativo como el primer día.

A continuación encontrarás algunas de las tareas que tengo programadas por si te pueden ser de utilidad a ti. Y por supuesto, como siempre te digo, si tienes alguna tarea programada que no esté en esta lista, compártela para que la podamos aprovechar todos.

Copias de seguridad con Borg

Por supuesto la primera de las tareas que tengo programadas en Linux, es la realización de copias de seguridad. Tanto en mi equipo de trabajo, como en aquellos servidores.

En el caso del equipo habitual estoy utilizando Borg, y lo tengo programado en cron, utilizando la siguiente instrucción,

0 6 * * * export DISPLAY=:0;export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus;export GSETTINGS_BACKEND=dconf;/bin/bash /home/lorenzo/.bash_it/lib/backup.sh

Si te preguntas porque estoy utilizando la parte del export DBUS, esto es porque para guardar las contraseñas utilizo gkeyring que requiere de DBUs para su funcionamiento, de esta forma en el script que realiza la copia de seguridad no aparece en plano la contraseña.

Sincronización de directorios

Aunque esta tarea no es algo que tengo establecido, si que es una operación que creo te puede resultar interesante para tener sincronizados dos entornos de trabajo.

Actualmente, yo comparto parte de la configuración de los dos entornos de trabajo que utilizo con mas frecuencia mediante enlaces simbólicos. Sin embargo, en tu caso, a lo mejor los quieres completamente independientes. Una solución para que te sientas como en casa, es sincronizando ambos directorios. Para esta operación puedes utilizar rsync.

Organización de archivos en directorios

En el episodio 217 del podcast te hablé sobre como puedes organizar tus archivos. Y entre las distintas opciones que te comenté estaba la de utilizar un sencillo script para realizar esa organización.

Puedes o bien ejecutar esta organización de forma manual, o tenerla programada para que la haga cada cierto tiempo, o mejor todavía para hacerla una vez al día.

De esta forma tendrás organizado tu entorno de trabajo, sin que tengas que preocuparte de ello.

Vaciar la papelera de reciclaje

Esta tarea ya te la comenté en el podcast 277 sobre exprimir el escritorio Linux. En aquel episodio te comenté la posibilidad de asignarle un atajo de teclado. Pero ¿porque no programarla y olvidarte? De esta manera puedes borrar todo lo que tengas en la papelera

rm -rf /home/lorenzo/.local/share/Trash/*

O mejor borrar solo aquello que lleve mas de 30 días en la papelera

papelera=/home/lorenzo/.local/share/Trash/
find $papelera ! -path $papelera -mtime +30 -delete

Cambiar el fondo de pantalla

Esto es algo que tengo programado desde hace mucho tiempo, pero porque me da mucha pereza ver siempre el mismo fondo de pantalla. Esta programación no la realizo a mano sino que utilizo Daily Wallpaper, tal y como te cuento en el podcast sobre Python y fondos de pantalla

5 */12 * * * sleep 20;export DISPLAY=:0;export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus;export GSETTINGS_BACKEND=dconf;/usr/bin/python3 /usr/share/daily-wallpaper/dwdownloader.py >/dev/null 2>&1 && feh --bg-scale /home/lorenzo/.config/daily-wallpaper/potd.jpg >/dev/null 2>&1 # NGW_EVERY_TWELVE

Monitorización

Pero no solo es esto lo que puedes hacer. Puedes ir mucho mas allá y tener programada hasta la monitorización para saber que es lo que pasa en tu equipo.

Así puedes monitorizar el llenado de directorios o particiones, comprobar el uso de recursos memoria/cpu o incluso, revisar los usuarios que están utilizan tu red.


Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.

Imagen de portada de Jon Tyson

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *