-
Para obter o arquivo de log onde você espera, substitua:
LOG_FILE="test-crontab.log"Com:
LOG_FILE="/home/ubuntu/sam/scripts/sqlplus-scripts/accts-ct/test-crontab.log" -
O comando
[[ ${?} != 0 ]]é somente bash. Na mensagem de erro que você cita, o script parece estar sendo executado em/bin/sh. Uma maneira de corrigir isso é substituir:if [[ ${?} != 0 ]]; thenCom:
if [ ${?} != 0 ]; thenOutra abordagem é executar
crontab -ee adicionar a seguinte linha ao seu arquivocrontab:SHELL=/bin/bash -
Além disso, para simplicidade e estilo, considere substituir:
echo 'date' >> ${LOG_FILE}com:
date >> "${LOG_FILE}"Isso elimina o uso inútil do eco.
-
Por último, considere colocar aspas duplas em torno de todas as variáveis do shell, particularmente
$LOG_FILE. Como o valor atual deLOG_FILEnão contém espaços ou caracteres ativos em shell, isso não é necessário agora. Porém, colocar aspas duplas em torno deles evitará surpresas desagradáveis no futuro.