Сценарий Bash в crontab не работает

Содержание сценария:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

rm list0.txt list1.txt list2.txt list3.txt print0.txt print1.txt print2.txt print3.txt

sleep 5

./checkip-1.sh </dev/null &>/dev/null &
sleep 5

./checkip-2.sh </dev/null &>/dev/null &
sleep 5

./checkip-3.sh </dev/null &>/dev/null &
sleep 5

./checkip-4.sh </dev/null &>/dev/null &
sleep 5

Сценарии в рамках основных сценариев хорошо работают, когда я выполняю их индивидуально, но не, когда я называю их из основного сценария. Я пытающийся выполнить это использование этой crontab записи

cd /var/www/html/dashboard/scan/ && autoscan.sh
2
задан 14 August 2016 в 18:13

1 ответ

Сценарий находится в /var/www/html/dashboard/scan/ и каталог не находится в Вашем PATH, таким образом, Вы не можете выполнить сценарий путем простого выполнения autoscan.sh, который ищет Ваш PATH для autoscan.sh.

Необходимо упомянуть, что сценарий находится в текущем каталоге:

cd /var/www/html/dashboard/scan/ && ./autoscan.sh

Или просто:

/var/www/html/dashboard/scan/autoscan.sh

Оба предполагают, что сценарий является исполняемым файлом пользователем, выполняющим его.

Если Вы не изменяете autoscan.sh сценарий, последний не будет работать на Вас, поскольку Вы запускаете другие скрипты ./checkip-{1..4}.sh использование относительных путей от autoscan.sh, так a cd в /var/www/html/dashboard/scan/ необходим.

2
ответ дан 2 December 2019 в 03:45

Другие вопросы по тегам:

Похожие вопросы: