4 votos

Crontab: Ubuntu ejecuta script (noob)

Soy nuevo en crontab y me gustaría ejecutar la siguiente secuencia de comandos desde /etc/crontab :

 0 15    * * *   root    bash-c 'for i in /home/dell/Downloads/*.{pdf,docx,png,jpg,PDF,DOCX}; do shred -zvu "$i" -n20; done'
 

He intentado con y sin la opción bash-c , pero el script no se ejecuta.

Mi objetivo es:

  1. Haz que este script se ejecute desde Crontab
  2. Haz que este script se ejecute en el inicio

Se agradece la ayuda.

13voto

Rouven Volkmann Puntos 51

Falta un espacio después de que el comando bash y el argumento -c.

Esto debería funcionar:

0 15    * * *  root bash -c 'for i in /home/dell/Downloads/*.{pdf,docx,png,jpg,PDF,DOCX}; do shred -zvu "$i" -n20; done'

Algunas sugerencias adicionales:

  • No ejecutar un crontab como usuario root si no es necesario.
  • Usted escribió que usted lo puso en /etc/crontab archivo. No editar el crontab de archivos directamente, en lugar de utilizar crontab -e comando o sudo crontab -e para los comandos que necesite root derechos. Tenga en cuenta que usted no ponga el user de campo en el "otro" crontab archivos.
  • Si usted tiene más de un comando puede utilizar bash -c como usted, pero yo prefiero poner los comandos en un script y ejecutar este de crontab.

  • Para ejecutar una secuencia de comandos de inicio, puede utilizar @reboot en lugar de 0 15 * * *.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: