¿Cómo configurar un trabajo cron para ejecutar un script de shell?


Respuestas:


61

Esto no está bien para un script que se configura como un trabajo cron:

mkdir jh
cd jh 

Debe proporcionar la ruta completa donde jhdebe crearse el directorio. Además, en esta ruta debe tener permiso para crear nuevos archivos / directorios.

Por ejemplo, su script debería verse así:

#!/bin/sh

mkdir /home/lucky/jh
cd /home/lucky/jh

Tampoco /usr/bin/shes el camino correcto para sh. El camino correcto es /bin/sh. Puede verificar esto con el whereis shcomando. Y aun así, su trabajo cron debería verse así:

20 * * * * /home/lucky/myfile.sh

No olvide hacer que el script sea ejecutable:

chmod +x /home/lucky/myfile.sh

Impresionante, me salvó la vida :) La mía funciona bien así. 0 7 * * * / bin / sh /root/Scripts/command.sh> / dev / null 2> & 1
Louwki

5

La ruta donde parece estar creando la carpeta es /. Esto se debe a que crontabrequiere la ruta completa a la carpeta y los archivos en todos los archivos que ejecuta.

Entonces la ruta en myfile.sh debería ser

mkdir <absolutePath>/jh

cd <absolutePath>/jh

20 * * * * /usr/bin/sh /home/lucky/myfile.shEsta línea es correcta, aunque debe verificar la ruta para ver si sh existe en / usr / bin / sh o no (use which shpara ver la ruta donde existe sh; la mía era / bin / sh)

Si tiene prisa por comenzar a escribir crontab, este enlace tiene muy buenos ejemplos

http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.