Ejecutar el crontab como un usuario, por ejemplo www-data.

Si tienes páginas web, en muchas ocasiones tienes que ejecutar tareas cron en el servidor (indexado, limpieza, procesos que se repiten cada cierto tiempo etc9). Estos procesos debes ejecutarlos con el usuario del servidor web, por ejemplo el www-data. Hoy os damos varias opciones para hacerlo.

Cómo ejecutar crontab como un usuario.

Existen varias opciones:

  • Poner la tarea en el crontab de root pero especificar el usuario. Lo más normal es tener las tareas en el crontab de root, pero los comandos puestos ahí tienen los permisos de root. Afortunadamente podemos especificar, en la línea del comando, el usuario.
    Ejecutamos crontab -e para entrar en crontab y ponemos una línea como.
    * * * * * su www-data -s /bin/bash -c "tucomando"
  • Ejecutar desde root el crontab del usuario:
crontab -u www-data -e

En ese crontab añades la línea normal.

El primer método tiene la ventaja que tienes todas las tareas en el mismo sitio y escribirá los logs con permisos de administrador.

Siempre puedes comprobarlo luego en el log /var/log/cron.log, en el crontab de root si lo has puesto ahí, o, si has editado el del usuario, con

crontab -u www-data -l

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).

Scroll al inicio