Возникли проблемы при получении.sh при работе с crontab

Я проверил эту ссылку для предложений, но я не могу заставить работать скрипт.sh. Я новичок в Ubuntu и Linux (из Windows).

Почему не работают скрипты crontab?

Вот манекен.ш я тестирую.

Это называется testing.sh

#! /bin/bash

ls > testing.txt

Вот как выглядит мой crontab:

SHELL=/bin/bash

* * * * * "/home/name/Desktop/Instragram Scraper/Instagram looter/batch_scripts/testing.sh"

* * * * * "/home/name/Desktop/Instragram Scraper/Instagram looter/batch_scripts/daily_0.sh"

 ****other randoms cron jobs******

Я посмотрел на окружающие пути для cron, а также shell, но похоже, что они имеют общие переменные, поэтому я предполагаю, что PATH не проблема?

Вот переменные окружения Crontab (поэтому я попытался изменить команду оболочки, добавив ее в начало файла cron):

HOME=/home/name
LOGNAME=name
PATH=/usr/bin:/bin
LANG=en_US.UTF-8
SHELL=/bin/sh
PWD=/home/name

Вот env из оболочки:

PATH=/home/name/bin:/home/name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

SHELL=/bin/bash

Не уверен, что я делаю не так.

РЕДАКТИРОВАТЬ:

Кажется, текстовые файлы создаются в HOME, поэтому я искал не в том месте. Однако при выполнении настоящей (не фиктивной) команды cron команда cron, похоже, не запускает эти команды из моего сценария.sh:

"instalooter hashtag" donut "" / media / name / data / "-n 100 -j 2 --new"

в основном, команда instalooter не работает,

который, если я запускаю через строку cmd или если я запускаю тот же скрипт через командную строку, эти команды без проблем запускаются.

Это переменная проблема?

Спасибо.

1 ответ

Вам необходимо получить четкое сообщение об ошибке, чтобы решить эту проблему, хотя это, похоже, проблема с переменной PATH (в таком случае вам может потребоваться объединить путь вашей программы к crontab PATH переменная)

Чтобы получить четкое сообщение об ошибке от вашей команды, вам нужно перенаправить Standard Error Stream команды к Standard Output Stream и перенаправить его в поток ввода файла, это может быть достигнуто с 2>&1 оператор, где числа представляют файловые дескрипторы (здесь не будем вдаваться в подробности).

command args > /debug.txt 2>&1

После изменения скрипта после того, как crontab выполнит ваш скрипт, вы можете посмотреть в debug.txt сообщения об ошибках.

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