Tengo una aplicación escrita en lenguaje AppleScripting que comprueba si el estado del S.M.A.R.T. es 'Verificado', si no lo es, me mostrará automáticamente un diálogo de alerta. Pero necesito que se ejecute cada 30 minutos. He utilizado cron
antes pero nunca funciona con la extensión .app. Entonces, ¿cómo puedo lograr la ejecución de la aplicación a intervalos regulares utilizando launchd?
Parece que no funciona estoy usando el archivo .scpt. ¿Puede ayudarme con un archivo .plist completo?
2 votos
Launchd tampoco funciona con los paquetes de aplicaciones (que es sólo una carpeta). Siempre hay que elegir un/el binario (por ejemplo, /usr/local/sbin/smartmontool o *.app/Contents/MacOS/app_binary)
0 votos
No es que esté en contra de AppleScript, pero ¿no sería esto mucho, mucho más fácil en bash?
0 votos
@Allan Eso, en parte, podría depender de lo cómodo que uno se sienta haciendo scripts en
bash
vs, AppleScript. Podría utilizar una combinación de ambos.bash
para hacer la comprobación de estado S.M.A.R.T. y AppleScript a través deosascript
para mostrar un cuadro de diálogo o una notificación en el Centro de notificaciones. Pero eso es también lo quedo shell script
en AppleScript es para.0 votos
@user3439894 Para obtener ese estado, AS tendría que (como mínimo) emitir un comando shell en bash de todos modos (
diskutil info diskX | grep -i smart
). Esa sería la carne y las patatas del script justo ahí.0 votos
En AppleScript, por ejemplo
display dialog "SMART Status: " & (do shell script "diskutil info disk0 | awk '/SMART Status:/{print $3}'") buttons {"OK"} default button 1
0 votos
En lugar de cerrar esto como demasiado amplio, voy a responder como si esto estuviera pidiendo herramientas sugeridas para facilitar la depuración de su configuración de lanzamiento. No estoy diciendo que no aprendas
launchd
ylaunchctl
ya que son muy potentes, sólo que su pregunta podría ser un poco demasiado amplia para una respuesta de dos o tres párrafos. Además - Esto no impide que alguien sea amable y haga todo el trabajo por ti.