Script Bash no crontab não está funcionando

2

Conteúdo do script:

#!/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

Os scripts dentro dos scripts principais estão funcionando bem quando eu os executo individualmente, mas não quando os estou chamando do script principal. Estou tentando executar isso usando esta entrada crontab

cd /var/www/html/dashboard/scan/ && autoscan.sh
    
por bran 14.08.2016 / 16:17

1 resposta

2

O script reside em /var/www/html/dashboard/scan/ e o diretório não está no seu PATH , então você não pode executar o script simplesmente fazendo autoscan.sh , que está pesquisando seu PATH para autoscan.sh .

Você precisa mencionar que o script está no diretório atual:

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

Ou simplesmente:

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

Ambas assumem que o script é executável pelo usuário que o executa.

A menos que você modifique o script autoscan.sh , o último não funcionará para você, pois você está executando outros scripts ./checkip-{1..4}.sh usando caminhos relativos de autoscan.sh , portanto é necessário um cd em /var/www/html/dashboard/scan/ .

    
por heemayl 14.08.2016 / 16:30