/ / error sugerido por crontab: / bin / sh .backup.sh no existe ese archivo o directorio - linux, shell, crontab

error sugerido por crontab: / bin / sh .backup.sh no existe ningún archivo o directorio - linux, shell, crontab

Yo uso el comando crontab -e para ejecutar un script de shell a intervalos regulares.

Pero algo está mal con eso.

El script de shell está ubicado en /opt/oneinstack/oneinstack, Entonces mi crontab es:

0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2> & 1 &

El permiso para el archivo backup.sh es 755.

El usuario que usa el crontab -e el comando es raíz

El mensaje en /data/back.log es /bin/sh no such file or directory .Al igual que el título.

La ejecución manual backup.sh no es problema.

¿Qué pasa con eso y cómo puedo solucionarlo?

Espera que alguien me ayude. ¡Muchas gracias!

Respuestas

1 para la respuesta № 1

Intente configurar lo siguiente antes de la lista crontab. Por ejemplo, si esta línea está en la parte superior:

0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2>&1 &

entonces se ve así:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2>&1 &

En adición: Como se mencionó en @Ugur, no es necesario hacer un CD, si se ocupan de las rutas correctamente en el backup.sh . Por ejemplo:

ROOTPATH="/path/to/data"
TARTGETPATH="/path/to/target"
FileToBackup="${ROOTPATH}/myfile"

rsync $FileToBackup $TARGETPATH/