Я пытаюсь запустить оболочку script с помощью crontab, которая запускает скрипты python3. Кронтаб предназначен для группы пользователей. Теперь он запускает script, но не скрипты python3 внутри него. Я пытаюсь отладить его, но я не могу понять, что происходит. Это может быть проблема с разрешением или проблема с пути, но я не могу понять. Это строка crontab
*/5 * * * * /home/group_name/path/to/script/run.sh
Как я уже сказал, выполняется задание cron или, по крайней мере, это то, что я думаю с тех пор, когда я запускаю sudo grep CRON /var/log/syslog
, я получаю строки типа
Feb 16 20:35:01 ip-**-**-*-*** CRON[4947]: (group_name) CMD (/home/group_name/path/to/script/run.sh)
справа внизу я также получаю строку, которая может иметь какое-то отношение к проблеме
Feb 16 20:35:01 ip-**-**-*-*** CRON[4946]: (CRON) info (No MTA installed, discarding output)
и, наконец, run.sh
выглядит следующим образом
#!/bin/bash
# get path to script and path to script directory
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")
echo "set directory"
cd "$SCRIPTPATH"
echo "run first script"
/usr/bin/python3 ./first_script.py > ./log1.txt
Однако, когда выполнение задания cron выполняется, ничего не происходит, когда я запускаю его вручную, cahnges в базу данных происходит так, как ожидалось. Группа имеет те же права, что и я. Файл оболочки может быть выполнен мной, а группа и файлы python не могут быть выполнены мной, поэтому я не знаю, зачем нужна группа.
PS: Я хочу выполнить python script в оболочке, так как у нас много скриптов с несколькими аргументами и, следовательно, crontab будет перенаселен, а некоторые скрипты должны выполняться в определенном порядке.
EDIT:
Добавление exec >> /tmp/output 2>&1
сразу после #! /bin.bash
записывает эхо-сигналы в /tmp/output
всякий раз, когда я запускаю его вручную, но не тогда, когда я запускаю его в cron, даже не до запуска любого python script.
Запуск одного из скриптов python непосредственно из cron работает, однако, даже если я скопирую вставить ту же самую строку, что и в cron, в файл оболочки, ничего не происходит.