it-swarm-es.tech

Cronjob bajo Ubuntu funciona lento

Configuré un cronjob (ejecutando un script bash) con crontab -e que copia localmente algunos datos de un disco duro a otro (rsync) y luego los compara (diff).

Ejecuté el script manualmente para ver si todo funciona según lo planeado. Copió 7 GB y tardó unos 30 minutos. Cuando se inicia como cronjob tarda 4h, copiando nuevamente 7 GB.

Los datos y el script no habían cambiado desde la llamada manual y la llamada cronjob del script.

  • ¿Puede ser que los cronjobs se ejecuten como demonios con muy poca prioridad?
  • Si es así, ¿cómo puedo cambiar eso?
2
Willi Mentzel

Si mi memoria me sirve bien, el cron funciona con un buen nivel 2.

Use Nice. Ejemplo:

Nice -20 {script} >>/dev/null 2>&1

(o un poco más alto (-10, -15) si -20 está acaparando demasiado su sistema). Todos los "hijos" dentro de {script} se ejecutarán con el mismo nivel Nice que el "padre".


  • página de manual de Niza .
  • También hay ionice para IO programación.
  • "Nicenesses" varía de -20 (programación más favorable) a 19 (programación menos favorable).
  • Un proceso con un Nice +15 recibirá el 25% del tiempo de CPU de un proceso con un Nice +0 (es decir (20-15)/(20-0) = 0.25).
4
Rinzwind