monitor_nfs/setup_monitor_nfs.sh

67 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Configura las rutas
MONITOR_SCRIPT="monitor_nfs.sh"
SYSTEMD_SERVICE="monitor_nfs.service"
LOGROTATE_CONF="monitor_nfs_logrotate"
INITD_SERVICE="monitor_nfs" # Nombre del script de servicio init.d
SYSTEMD_PATH="/etc/systemd/system"
LOGROTATE_PATH="/etc/logrotate.d"
INITD_PATH="/etc/init.d"
SCRIPT_DEST="/usr/local/bin"
# Comprueba que se ejecuta como root
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ejecutarse como root."
exit 1
fi
# Copia el script de monitoreo al directorio de destino y otorga permisos de ejecución
echo "Copiando el script de monitoreo a $SCRIPT_DEST..."
mkdir -p "$SCRIPT_DEST"
cp "$MONITOR_SCRIPT" "$SCRIPT_DEST/$MONITOR_SCRIPT"
chmod +x "$SCRIPT_DEST/$MONITOR_SCRIPT"
# Verifica si systemd está disponible
if command -v systemctl > /dev/null; then
# Copia el archivo de servicio systemd y recarga el daemon
echo "Instalando el servicio de systemd..."
cp "$SYSTEMD_SERVICE" "$SYSTEMD_PATH/$SYSTEMD_SERVICE"
systemctl daemon-reload
# Copia el archivo de configuración de logrotate
echo "Configurando logrotate..."
cp "$LOGROTATE_CONF" "$LOGROTATE_PATH/monitor_nfs"
chmod 644 "$LOGROTATE_PATH/monitor_nfs"
# Habilita y arranca el servicio de systemd
echo "Habilitando y arrancando el servicio de monitoreo (systemd)..."
systemctl enable "$SYSTEMD_SERVICE"
systemctl start "$SYSTEMD_SERVICE"
# Verifica el estado del servicio systemd
echo "Estado del servicio monitor_nfs (systemd):"
systemctl status "$SYSTEMD_SERVICE"
else
# Si systemd no está disponible, verifica si init.d está disponible
if [ -f "$INITD_PATH/$INITD_SERVICE" ]; then
# Copia el archivo de servicio init.d
echo "Instalando el servicio init.d..."
cp "$INITD_SERVICE" "$INITD_PATH/$INITD_SERVICE"
chmod +x "$INITD_PATH/$INITD_SERVICE"
# Habilita el servicio init.d
echo "Habilitando el servicio de monitoreo (init.d)..."
update-rc.d "$INITD_SERVICE" defaults
# Verifica el estado del servicio init.d
echo "Estado del servicio monitor_nfs (init.d):"
service "$INITD_SERVICE" status
else
echo "No se encontró systemd ni init.d en el sistema. No se puede configurar el servicio."
exit 1
fi
fi
echo "Configuración completada con éxito."