El SysAdmin del 3er Mundo

todo lo que expliqué mientras nadie prestaba atención

dispatcher script

| Comments

El network-manager, el sistema de 2 clicasos para configurar la interfaz de red. Resulta que cuando levanta la red, no se por qué, telepathy-salut se queda mariado y el chat “gente cerca” no ve a los usuarios. Al reiniciar avahi se le quita el mareo. Entonces la talla sería que el avahi se reiniciara solo.

Resulta que NetworkManger, tiene los llamados dispatcher. Puedes ver la documentación aquí

Los scripts que radique en /etc/NetworkManager/dispatcher.d/ se ejecutarán sí y solo si, pertenecen al root con permisos 755.

Los script reciben como primer argumento, la interfaz y como segundo la acción. Las acciones pueden ser up, down, conectivity-change, hostname y en fin, vease man NetworkManager para más detalles.

Mi script quedó así:

“/etc/NetworkManager/dispatcher.d/migancho.sh”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash

# la interfaz involucrada
INTERFAZ=$1

# la acción involucrada
ACCION=$2

# una función para loguear
function loguear() {
   logger $(basename $0) $@
}

# un logueo simple, pa saber lo que hay
loguear "acción «$ACCION» en la interfaz «$INTERFAZ»"

# según la acción
case "$ACCION" in


   up) # una interfaz que se levanto

      loguear 'tumbando telepathy y compañía'
      pkill -9 empathy
      pkill -9 telepathy

      loguear 'reiniciando avahi'
      systemctl restart avahi-daemon

      loguear 'ajustando la hora'
      systemctl start systemd-timesyncd

   ;;


   down) # al tumbar una conexión

     loguear 'para el clientico ntp de systemd'
     systemctl stop systemd-timesyncd


   ;;


   *)

      loguear 'sin accion'

   ;;

esac

Con journalctl -f puedes ver como loguea, en este caso el argumento $0 es el nombre del script. En fin puedes hacer muchísimas cosas creativas. Con ver en el man de NetworkManager las acciones; podrás subsanar muchas necesidades.

Si este artículo te resultó interesante, considere donar 0.06 BTC: 1Kg4gu3e7u8HUw8bj5NbBciRg6Y56kuFCU

Comments