Рейтинг:0

Сбой запуска сценария bash в crontab

флаг cn

У меня есть два скрипта, которые отлично работают из командной строки, но не работают в crontab. Скрипты предназначены для запроса файла погоды GRIB по электронной почте.

Сценарий ищет в папке исходящей электронной почты существующий запрос и удаляет его, если он существует. Затем он получает данные GPS и делает новый запрос на основе местоположения GPS во время запроса. Создается новый запрос, который помещается в папку «Исходящие».

Вот один из скриптов:

#! /бин/баш

# проверка существующих запросов
R=$(grep -l "Grib" /user/.wl2k/mailbox/email-user/out/*.b2f)
если [-n "$R" ]
тогда
гм $R
фи

#получить координаты GPS широта/долгота
 X=$(gpspipe -w -n 10 |grep lat|tail -n1|cut -d":" -f9|cut -d"," -f1)
 Y=$(gpspipe -w -n 10 |grep lon|tail -n1|cut -d":" -f10|cut -d"," -f1)

# добавление + или - 25 к долготе и + или -12 к широте
 A=$(echo "масштаб=4; $X+12" | bc -l)
 B=$(echo "масштаб=4; $X-12" | bc -l)
 C=$(echo "масштаб=4; $Y-25" | bc -l)
 D=$(echo "масштаб=4; $Y+25" | bc -l)

# Отправка запроса GRIB в pat (это для погоды)
curl http://localhost:8080/api/mailbox/out -F "date=$(date -u +'%Y-%m-%dT%H:%M:>
|2,2|6,12..96|ДАВЛЕНИЕ,ВЕТЕР,ПОрыв,=
МЫС,ДОЖДЬ,ОБЛАКА,AIRTMP,ВОЛНЫ"
muru avatar
флаг us
Что значит "не работает"? Вы пробовали войти в crontab? `/some/script > /some/log/file 2>&1` и `set -x` в сценарии?
Artur Meinild avatar
флаг vn
Пожалуйста, предоставьте дополнительную информацию. Где находятся сценарии, и, пожалуйста, опубликуйте содержимое crontab, откуда запускаются сценарии. Обычно это происходит из-за неработающего `PATH`. Кроме того, как утверждает муру, что произойдет, если вы зарегистрируете вывод - они вообще запускаются или нет?
Wayne Vosberg avatar
флаг bd
Возможно, проблема с PATH — попробуйте добавить полные пути к вашим исполняемым файлам или убедитесь, что PATH заполнен в первую очередь в сценарии.
FedKad avatar
флаг cn
Также исправьте первую строку, удалив пробел между `#!` и `/bin/bash`.
флаг hr
@FedonKadifeli, похоже, это миф - см., Например, [Допускается ли пробел между #! и /bin/bash в шебанге?] (https://unix.stackexchange.com/questions/276751/is-space-allowed-between-and-bin-bash-in-shebang)
FedKad avatar
флаг cn
Не знал, что @steeldriver. Спасибо, что предупредили меня!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.