Programar reinicio semanal de un servidor en Linux

Posted by in Linux, Sistemas Operativos

Primero programamos el Scrip que reiniciará el servidor si han pasado 7 días desde que se lanzó la tarea

nano /bin/ReiniciaME
#!/bin/bash
up=$(/usr/bin/uptime | cut -c14-19)

if [[ "$up" = "7 days" ]]; then
/sbin/shutdown -r +2
fi

exit 0

# END

Guarda el Fichero con
CTRL + X

Cambiamos los permisos para convertirlo en ejecutable:

chmod 755 /bin/ReiniciaME

Cambiamos al directorio

cd /etc/cron.d

y creamos una nueva tarea programada

nano reinicioSemanal
30 2 * * * /bin/ReiniciaME

Salimos y Guardamos

CTRL + X 

A partir de ahora a las 2:30 de la mañana se lanzará el script ReiniciaME y si han pasado 7 dias se reiniciará el server

Para Centos:

yum -y install cronie

Si hacemos:

nano /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Vemos que hay 5 tareas que ejecutan scripts que contienen diferentes directorios.

22 4 * * 0 root run-parts /etc/cron.weekly

Ejecuta semanalmente a las 4:22 todo lo que contenga el directorio /etc/cron.weekly

hacemos

cd /etc/cron.weekly
nano ReiniciaMe

/sbin/shutdown -r +2

y guardamos.

hacemos

chmod 755 ReuniciaMe