6 votos

crear un trabajo cron en Android

Quiero escribir un bash script (similar al de Linux) para ejecutar una tarea cron cada 10 horas. La tarea es bastante simple, por ejemplo, la eliminación de archivos de la carpeta de caché.

Según esto tema Instalé busybox y emulador de terminal y el teléfono ya ha sido rooteado. Esto es lo que hice:

su -
echo "*/5 * * * * root reboot" >> /data/crontab/root
crond -b -c /data/cronjob

Ten en cuenta que para la prueba, he configurado el teléfono para que se reinicie cada 5 minutos para ver si el crond funciona correctamente.

El problema es que no funciona. ¿Alguna idea para eso?

1 votos

En caso de que esté abierto a soluciones alternativas, puede considerar el uso de un automatización para ejecutar su script cada X minutos/horas. Tasker y Automate, ambos pueden hacer su trabajo fácilmente. Relacionado: ¿Cómo borrar una carpeta (por ejemplo, descargas) automáticamente de forma regular/programada?

0 votos

Intentando probar las aplicaciones recomendadas

0 votos

Aunque es obvio, yo seguiría insistiendo en que elimines las secciones que tratan del trabajo cron de tu script, si pretendes probar el script utilizando esas aplicaciones.

2voto

dubis Puntos 11

Requisitos

  1. Acceso a root
  2. Busybox : para el servicio 'crond'
  3. Carpeta /system/etc/init.d para iniciar el servicio 'crond' en el arranque

Creación de un cronjob Cree el archivo cronjob en el directorio /data/crontab/ con el nombre de archivo Root. Escriba su cronjob dentro del archivo 'Root'. Establezca los permisos de ejecución para el archivo 'Root'.

Prueba sin reiniciar Ahora abra cualquier emulador de terminal en el dispositivo y ejecute los siguientes comandos..

su -
crond -b -c /data/cronjob

Ahora se iniciará el servicio de crond, para comprobar el tipo...

top | grep crond

Iniciar crond en el arranque

  1. montar la partición del sistema en lectura y escritura :

    su -

    mount -o remount,rw /system

  2. Cree un archivo 99my_daemon en /system/etc/init.d con permiso de ejecución e introduzca las siguientes líneas

    crond -b -c /data/crond

  3. Cerrar la escritura de la partición /system

    mount -o remount,rw /system

  4. Y reiniciar

Ejemplo de nombre de archivo cron root

*/15 * * * * reboot

Reiniciará su dispositivo cada 15 minutos a partir de la hora.

1 votos

Para desactivar el modo de lectura y escritura es necesario introducir mount -o remount,ro /system comando

1 votos

Esta solución sólo funcionará si no hay una situación de OOM. Si el OOM killer comienza a trabajar porque el sistema no tiene memoria libre, el crond puede ser matado.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android 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