Я сделал скрипт, который отправляет данные о моих локальных датчиках температуры на сервер в Интернете, а затем я могу увидеть его график. Все работает нормально, когда я выполняю это вручную. У меня последняя версия Ubuntu. Когда он запускается периодически каждую минуту с crontab, тогда ничего не работает. Это ничего не отправляет. Я пытался запустить его как SUDO и как пользователь, я пытался добавить его в файл crontab, чтобы запустить его из нескольких мест, таких как /bin/myscript.sh, / user / Desktop и многих других ... Кажется, ничего не работает. Есть идеи как это решить? Спасибо!
echo Init ...
TEMP=`/usr/bin/snmpwalk -v 1 -c public 192.168.1.2 iso.3.6.1.4.1.38783.3.9.0 | cut -d" " -f4`
echo $TEMP
REALTEMP=`echo "scale=1; $TEMP/10" | bc -l`
echo $REALTEMP
echo
wget "http://api.thingspeak.com/update?key=MYKEY=$REALTEMP"
У меня была похожая проблема при получении cron для распознавания команды на моем сервере. Совет, который решил мою проблему, пришел из раздела «Устранение неполадок» в Ubuntu Cron Howto :
При добавлении новой записи в пустой crontab, забыв добавить в конце новую строку является общим источником для работы, не выполняющейся. Если последняя строка в crontab не заканчивается новой строкой, об ошибках не сообщается во время редактирования или выполнения, но эта строка никогда не будет выполняться. Смотрите man crontab для получения дополнительной информации. Это уже было предложено как ошибка.
BLOCKQUOTE>
Предполагая, что ваша строка crontab просто содержит имя сценария, вам необходимо указать, что должен выполнять сценарий, либо в crontab (предполагая, что он должен выполняться с оболочкой bash)
/5 * * * * /bin/bash /path/to/myscript.sh
, либо путем добавления `` shebang '' строка в начале скрипта
#!/bin/bash
Не очевидно, что скрипт зависит от каких-либо переменных окружения, но стоит отметить, что задание cron выполняется только с HOME
, LOGNAME
, PATH
и SHELL
набор.
Файл сценария также должен быть исполняемым (chmod +x myscript.sh
).
Я не имею ни малейшего представления о вашей проблеме со сценарием, но если вам нужно иметь некоторые графики в реальном времени о температуре датчиков, доступные через веб-сервер, вы можете попробовать psensor-server
.
Он доступен в стандартных репозиториях Ubuntu, поэтому вы можете легко установить его с помощью «sudo apt-get install psensor-server», запустить «psensor-server» и, наконец, открыть URL-адрес » http: // Имя хоста: 3131 . Вы получите диаграммы такого типа:
В качестве альтернативы, вы можете программно получить JSON-вывод температур, используя ' http: // hostname: 3131 /api/1.0/sensors'.
Спасибо всем за помощь. Мне удается сделать это, запустив его как службу, с помощью, которую я нашел на этом сайте . Вы можете делать то, что он сказал. Или вы можете сделать это, что будет запускать любой скрипт для вас.
. Выполните следующие команды:
sudo update-rc.d autorun.sh defaults
[ 119]
sudo chmod +x /etc/init.d/autorun.sh
Еще раз спасибо всем за советы. У меня действительно не было времени, чтобы проверить их все. Я сделаю это в ближайшее время!