67 lines
2.3 KiB
Bash
Executable File
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."
|