Установка MRTG на Ubuntu и контролирующий RPI

Я пытался установить MRTG на Ubuntu (VMware Workstation) путем следования инструкциям на этом веб-сайте: https://help.ubuntu.com/community/MRTG.

Однако каждый раз, когда я достигаю этой точки конфигурации:

cfgmaker snmp_community_string@ip_address_of_device_to_be_monitored > /etc/mrtg.cfg

который в моем случае является:

 cfgmaker public@192.168.1.126 > /etc/mrtg.cfg

Я продолжаю получать этот ответ:

bash: /etc/mrtg.cfg: Permission denied.

Я попытался выполнить эту команду с sudo и sudo bash, но ничто, кажется, не решает проблему.

Мне удалось выполнить snmpwalk на устройстве я хочу контролировать (который является пи малины с вышеупомянутым IP-адресом), и посмотрите MIB RPI.

Моя цель состоит в том, чтобы получить график температуры ЦП RPI, но я действительно застреваю в этой точке и не могу продвинуться.

У кого-либо есть какая-либо подсказка о том, как продолжить двигаться?

3
задан 12 November 2015 в 02:37

3 ответа

Есть несколько способов достигнуть просто что:

  1. Прилагают всю команду, используя единственные кавычки как это:

    sudo bash -c 'cfgmaker public@192.168.1.126 > /etc/mrtg.cfg'
    
  2. Создают сценарий в ~/bin

    #!/bin/bash
    cfgmaker public@192.168.1.126 > /etc/mrtg.cfg
    

    и выполняют это с sudo:

    sudo MyScript.sh
    
  3. Пробег sudo --shell и выполните:

    cfgmaker public@192.168.1.126 > /etc/mrtg.cfg
    
2
ответ дан 1 December 2019 в 15:37

Ошибка означает, что у Вас нет достаточного разрешения открыть файл /etc/mrtg.cfg для написания.

В дополнение к хороший ответ, предоставленный Fabby, чтобы управлять командой на неинтерактивной сессии, находящейся в собственности корня bash, Вы можете также использовать tee:

echo 'cfgmaker public@192.168.1.126' | sudo tee /etc/mrtg.cfg

, Если Вы хотите приложить (может быть время затем), используйте -a выбор tee:

echo 'cfgmaker public@192.168.1.126' | sudo tee -a /etc/mrtg.cfg

Один протест состоит в том, что последовательность покажут на терминале (STDOUT), Вы можете отключить это:

echo 'cfgmaker public@192.168.1.126' | sudo tee /etc/mrtg.cfg >/dev/null
<час>

Вы можете также сделать то же самое, использующее Здесь Последовательности (<<<) вместо трубопровода:

sudo tee /etc/mrtg.cfg <<<'cfgmaker public@192.168.1.126'
sudo tee -a /etc/mrtg.cfg <<<'cfgmaker public@192.168.1.126'
sudo tee /etc/mrtg.cfg <<<'cfgmaker public@192.168.1.126' >/dev/null
3
ответ дан 1 December 2019 в 15:37

В качестве альтернативы можно использовать:

sudo su
cfgmaker public@192.168.1.126 > /etc/mrtg.cfg
0
ответ дан 8 January 2021 в 12:13

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

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