Как мне заставить этот скрипт периодически запускаться через cron?

Я сделал скрипт, который отправляет данные о моих локальных датчиках температуры на сервер в Интернете, а затем я могу увидеть его график. Все работает нормально, когда я выполняю это вручную. У меня последняя версия 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"
1
задан 14 September 2012 в 04:06

4 ответа

У меня была похожая проблема при получении cron для распознавания команды на моем сервере. Совет, который решил мою проблему, пришел из раздела «Устранение неполадок» в Ubuntu Cron Howto :

При добавлении новой записи в пустой crontab, забыв добавить в конце новую строку является общим источником для работы, не выполняющейся. Если последняя строка в crontab не заканчивается новой строкой, об ошибках не сообщается во время редактирования или выполнения, но эта строка никогда не будет выполняться. Смотрите man crontab для получения дополнительной информации. Это уже было предложено как ошибка.

0
ответ дан 14 September 2012 в 04:06

Предполагая, что ваша строка crontab просто содержит имя сценария, вам необходимо указать, что должен выполнять сценарий, либо в crontab (предполагая, что он должен выполняться с оболочкой bash)

/5 * * * * /bin/bash /path/to/myscript.sh

, либо путем добавления `` shebang '' строка в начале скрипта

#!/bin/bash

Не очевидно, что скрипт зависит от каких-либо переменных окружения, но стоит отметить, что задание cron выполняется только с HOME, LOGNAME, PATH и SHELL набор.

Файл сценария также должен быть исполняемым (chmod +x myscript.sh).

0
ответ дан 14 September 2012 в 04:06

Я не имею ни малейшего представления о вашей проблеме со сценарием, но если вам нужно иметь некоторые графики в реальном времени о температуре датчиков, доступные через веб-сервер, вы можете попробовать psensor-server.

Он доступен в стандартных репозиториях Ubuntu, поэтому вы можете легко установить его с помощью «sudo apt-get install psensor-server», запустить «psensor-server» и, наконец, открыть URL-адрес » http: // Имя хоста: 3131 . Вы получите диаграммы такого типа:

enter image description here

В качестве альтернативы, вы можете программно получить JSON-вывод температур, используя ' http: // hostname: 3131 /api/1.0/sensors'.

0
ответ дан 14 September 2012 в 04:06

Спасибо всем за помощь. Мне удается сделать это, запустив его как службу, с помощью, которую я нашел на этом сайте . Вы можете делать то, что он сказал. Или вы можете сделать это, что будет запускать любой скрипт для вас.

  1. Сначала создайте скрипт и отредактируйте его в соответствии со своими потребностями. Допустим, вы называете это autorun.sh
  2. Скопируйте этот скрипт в /etc/init.d
  3. . Выполните следующие команды:

    sudo update-rc.d autorun.sh defaults [ 119]

    sudo chmod +x /etc/init.d/autorun.sh

Еще раз спасибо всем за советы. У меня действительно не было времени, чтобы проверить их все. Я сделаю это в ближайшее время!

0
ответ дан 14 September 2012 в 04:06

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

Похожие вопросы: