Возникли проблемы при получении.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 сообщения об ошибках.