crontab запланировал ошибку сценария

Я пытаюсь запланировать этот сценарий для выполнения каждый день при помощи crontb:

#/bin/bash
cd /home/banana/gdrive
DATE=`date +%Y-%m-%d`
mongodump  --gzip --archive=$DATE
./gdrive upload ./$DATE

olddate="$(date "+%Y-%m-%d" -d "9 days ago")"
old2=$(date -d $olddate +%s)
#echo $old2
list="$(./gdrive list)"
#echo $list
ADDR=(${list// / })
ii=0
for i in "${ADDR[@]:5}"; do
    if [ $(($ii % 7)) -eq 0 ]; then
       id=$i
    fi
    if [ $(($ii % 7)) -eq 1 ]; then
       name=$i
       dat=$(date -d $name +%s)
       #echo $dat
       if [ $old2 -ge $dat ]; then
          echo "delete"
          echo $id
          touch $id
          ./gdrive delete $id
       fi
       #echo "name"
       #echo $name
       #echo $id
    fi
    #echo $ii
    #echo $i
    let ii=ii+1
done

запись crontab:

0 2 * * * /home/banana/gdrive/upload.sh

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

Путем моделирования использования crontab среды, как предложено здесь: https://serverfault.com/questions/85893/running-a-cron-job-manually-and-immediately/85906

я узнал, что выполнение приводит к ошибке:

gdrive/upload.sh: 12: gdrive/upload.sh: Syntax error: "(" unexpected

учитывая тот факт, что переменная SHELL в crontab среде была установлена на SHELL =/bin/sh и что синтаксис, там удар этот довольно разумный звук (даже если я все еще сбиваю с толку на роли #/bin/bash на первой строке сценария).

Проблема состоит в том что тот же результат все еще даже после помещения SHELL =/bin/bash в crontab файле.

Таким образом, вопрос, что случилось в этой установке? и как я могу запланировать этот сценарий при помощи crontab?

0
задан 2 October 2016 в 13:08

1 ответ

Хижина, которая должна быть записана, включает восклицательный знак.

Попытка записать #!/bin/bash в первой строке Вашего сценария оболочки.

3
ответ дан 28 September 2019 в 11:54

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

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