2 votos

Ejecutar script cada vez que cambie la puerta de enlace predeterminada del sistema?

Me gustaría ejecutar un script cada vez que cambie la puerta de enlace por defecto de mi mac. Por ejemplo, me gustaría que se ejecutara si mi conexión a internet cambia de Wi-Fi a ethernet, si se desconecta o reconecta, o si me conecto o desconecto de una VPN.

En un nivel más técnico, me gustaría que el script se ejecutara cuando se añadiera, eliminara o modificara una entrada en la tabla de enrutamiento del sistema para default o 0/1 y posiblemente algunas otras entradas relevantes. Algo que se ejecute cada vez que la tabla de enrutamiento cambie también sería aceptable, ya que podría simplemente detectar si el cambio es algo que me interesa.

¿Hay alguna manera de hacer esto, aparte de simplemente sondear en algún intervalo corto y comprobar si la puerta de enlace predeterminada ha cambiado?

2voto

user3439894 Puntos 5883

Puede supervisar archivos como los siguientes para los cambios y actuar en consecuencia:

  • /private/var/run/resolv.conf

  • /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

  • /Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist

Puede utilizar un Agente de lanzamiento con un WatchPaths clave No obstante, véase la nota relativa a su uso en el página del manual para launchd.plist . Diré que a pesar de la nota, no he tenido problemas con un WatchPaths clave en mi Agentes de lanzamiento que uso actualmente. YMMV

Si va a utilizar Agentes de lanzamiento y Lanzar demonios Le recomiendo encarecidamente que lea el páginas del manual para launchctl , launchd.plist y launchd .

Puede leer el página del manual para command en Terminal tecleando man command , y a continuación pulse entrar en o para facilitar la lectura , sólo hay que teclear command y luego haga clic con el botón derecho del ratón y seleccione: Abrir la página del hombre

O utilizar un aplicación de terceros como EventScripts .

Puede desencadenar una AppleScript script o un shell script con eventos como:

  • Internet está disponible
  • Internet no está disponible
  • Cambio de la dirección IP externa
  • La red inalámbrica ha cambiado

Y muchos más tipos de eventos .

Echa un vistazo a EventScripts Es 5,99 dólares en la App Store de Estados Unidos pero puede descargarse una demo gratuita desde el sitio web del desarrollador.

Nota: No estoy afiliado al desarrollador de <strong>EventScripts </strong>, sólo un usuario satisfecho con el producto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X