En tu caso tienes que añadir cron
como aplicación "padre" de las aplicaciones/ejecutivos del usuario Seguridad y privacidad > Privacidad > Acceso total al disco.
Dependiendo de dónde leer el script y dónde escribir el archivo de registro, tienes que añadir cron
a las aplicaciones de Acceso Completo al Disco. Casi todas las carpetas por defecto en el home del usuario están protegidas (Documentos/Descargas/Desktop - no he comprobado Imágenes/Películas/Música pero creo que también están protegidas y obviamente son las carpetas equivocadas para añadir shell scripts o ficheros log) por la política de sistema de Catalina.
Si el script y el registro residen en carpetas creadas por el usuario y, por tanto, desprotegidas (por ejemplo, el script en ~/bin y el archivo de registro en ~/log) funciona sin necesidad de añadir cron al grupo Acceso total al disco.
Para añadir la excepción:
- pulse el botón + botón
- hit ⌘⇧G
- entre en
/usr/sbin
- haga doble clic en el botón
cron
archivo.
Puedes comprobar este tipo de errores abriendo Console.app y buscando el shebanged exec en el script (aquí bash
):
error 15:19:00.369105+0100 kernel Sandbox: bash(4556) System Policy: deny(1) file-write-data /Users/user/Desktop/test/cronjob2.log
error 15:19:00.379093+0100 kernel Sandbox: bash(4555) System Policy: deny(1) file-read-data /Users/user/Desktop/cronjob.sh
En los ejemplos anteriores cron
no se añadió al grupo Acceso total al disco.
cronjob2 se ejecutó desde una carpeta desprotegida ~/bin pero intenta escribir el archivo de registro en la carpeta protegida ~/Desktop/test/. Así que no hay error de lectura, pero un error de escritura.
cronjob se ejecutó desde una carpeta protegida ~/Desktop e intenta escribir el archivo de registro en la carpeta protegida ~/Desktop/. Por lo tanto, un error de lectura.
Curiosamente, ambos archivos de registro se crean, aunque el primero (cronjob2.log) está vacío.
0 votos
¿Qué versión de MacOS utilizas? ¿El error también se produce si su bash script sólo contiene
touch /tmp/foo
?0 votos
Sí, el problema persiste.
0 votos
Por favor, edita la pregunta para mostrar el script mínimo entonces, para evitar que la gente sospeche de problemas con Python. Además, ¿qué versión de MacOS?
0 votos
Gracias por el consejo, estoy usando mac OS Catalina 10.15.1, incluido en la pregunta editado