Programar reinicio semanal de un servidor en Linux
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