Страница 1 из 1

Cacti - как запустить ruby скрипт?

Добавлено: 2012-01-18 15:39:35
celebrion
Добрый день.
Понадобилось в Cacti мониторить время работы бесперебойника от батарей, для чего я написал свой скрипт.

Код: Выделить всё

#!/usr/local/bin/ruby
require 'rubygems'
require 'snmp'
begin
    SNMP::Manager.open(:Host => "#{ARGV[0]}", :Version => :SNMPv1) do |host|
        time = host.get_value("1.3.6.1.4.1.318.1.1.1.2.2.3.0").to_s
        time = time.split(/:/)  
        hour = time[0].to_i
        min = time[1].to_i
        tmp = time[2].split(//)
        sec = 10*tmp[0].to_i+tmp[1].to_i
        min = min+1 if (sec > 30)
        time_remain = 60*hour+min
        printf "time:%s\n", time_remain
    end
скрипт нормально отрабатывает от моего пользователя:

Код: Выделить всё

[x@x /usr/local/www/cacti/scripts]$ ./APC_time_remain.rb 192.168.2.8
time:219
От пользователя cacti не работает.
input string выглядит так:

Код: Выделить всё

ruby <path_cacti>/scripts/APC_time_remain.rb <ip>
В силу того, что родные перловые скрипты работают нормально, я так понимаю что проблема в переменных среды, а возможно и нет. :smile:
Подскажите пожалуйста - что нужно поправить/добавить чтобы скриптик заработал?

Re: Cacti - как запустить ruby скрипт?

Добавлено: 2012-01-19 19:12:05
skeletor
я б на вашем месте указал полный путь к ruby:

Код: Выделить всё

/usr/local/bin/ruby <path_cacti>/scripts/APC_time_remain.rb <ip>
ну изменить только на правильный путь.

Re: Cacti - как запустить ruby скрипт?

Добавлено: 2012-01-20 8:54:27
celebrion
skeletor писал(а):я б на вашем месте указал полный путь к ruby:

Код: Выделить всё

/usr/local/bin/ruby <path_cacti>/scripts/APC_time_remain.rb <ip>
ну изменить только на правильный путь.
не помогло :(

Re: Cacti - как запустить ruby скрипт?

Добавлено: 2012-01-20 11:47:34
skeletor
Ну тогда смотрите в логи, на что оно у вас там ругается. Да и откуда вы знаете, что не работает именно руби скрипт? Может он отрабатывает, а ваш какти не воспринимает значения? или воспринимает, но не так?