Рейтинг:0

Задача Cron не выполняется

флаг br

У меня есть список команд, которые нужно запускать каждый день. Когда я копирую и вставляю его прямо в терминал и запускаю, он работает, но когда я копирую и вставляю ту же команду в cron, она не работает.

это команда

0 10 * * * commcare-export --query /home/administrator/Documents/commCareExcelFiles/case_data/1.xlsx --project projectX --output-format sql --output postgresql://user:pass12345@localhost:5432/ dbname --username [email protected] --auth-mode apikey --password 0ecc3417ad8424ce5eac698092

В логах cron вижу следующее

(администратор) CMD ( commcare-export --query/home/administrator/Documents/commCareExcelFiles/case_data/1.xlsx --project projectX --output-format sql --output postgresql://user:pass12345@localhost:5432/ dbname --username [email protected] --auth-mode apikey --password 0ecc3417ad8424ce5eac698092)

Но когда я проверяю базу данных, новых записей нет, если только она не запущена непосредственно с терминала. л

флаг in
Вам нужно будет указать полный путь для `commcare-export`, так как задание cron не будет знать, где искать этот инструмент.
флаг br
@matigo также добавил абсолютный путь, но все равно безрезультатно
bac0n avatar
флаг cn
Вам следует перейти на systemd.timer.
Рейтинг:0
флаг cn

Двойной ответ:

а) Проверьте свой местный почтовый ящик. Если cronjob обнаруживает ошибку (точнее: если он вообще выдает какие-либо выходные данные на стандартный вывод или стандартный вывод), он отправляет ее по почте на локальный сервер. корень аккаунт, который должен быть перенаправлен на ваш личный почтовый ящик. (Если это не так, вы должны это исправить.)

б) Введите абсолютный путь для команды commcare-экспорт в вашей кронтаб вход. хрон не наследует твое ДОРОЖКА параметр. Он ищет только двоичные файлы команд в стандартных местах. /бин и /USR/бен. Команда commcare-экспорт не является стандартной командой Ubuntu. Не исключено, что его двоичный файл находится в какой-то конкретной папке программного обеспечения. Чтобы узнать его абсолютный путь, если вы его не знаете, введите команду который commcare-export в терминале, где команда commcare-экспорт работает.

флаг br
Я получил абсолютный путь. Он говорит `/usr/local/bin/commcare-export`, я обновляю свою задачу cron, но все равно безрезультатно
Tilman avatar
флаг cn
Так что же говорит почта?
флаг br
я пытался запланировать задачу cron для пакета python. Добавление пути для python и после этого commcare-export сделали свое дело.

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

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