crontab предложил ошибку: /bin/sh .backup.sh нет такого файла или каталога
Я использую команду crontab -e
выполнять сценарий оболочки через равные промежутки времени.
Но что-то не так с этим.
Сценарий оболочки находится в /opt/oneinstack/oneinstack
, Так что мой crontab это:
0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2> & 1 &
Разрешение для файла backup.sh составляет 755.
Пользователь, использующий crontab -e
команда root
Сообщение в /data/back.log /bin/sh no such file or directory .
Так же, как название.
Ручное исполнение backup.sh
не проблема
Что с этим не так? И как я могу это исправить?
Ожидайте, что кто-то поможет мне. Большое спасибо!
1 ответ
Попробуйте установить следующее перед списком crontab. Например, если эта строка вверху:
0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2>&1 &
тогда это выглядит так:
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 &
Кроме того: Как упомянуто @Ugur, cd не нужен, если вы правильно позаботились о путях в backup.sh
, Например:
ROOTPATH="/path/to/data"
TARTGETPATH="/path/to/target"
FileToBackup="${ROOTPATH}/myfile"
rsync $FileToBackup $TARGETPATH/