Биллинговая система Nodeny

Главная категория => Ревизии => Тема начата: Efendy от 21 Марта 2016, 14:02:53



Название: rev 400
Отправлено: Efendy от 21 Марта 2016, 14:02:53
В настройках появился параметр "Запуск внешних скриптов из админки": название кнопки - скрипт, который будет запущен при нажатии на кнопку. Кнопка появится только у админа либо суперадмина. Если путь скрипту не от корня - скрипт ищется в /usr/local/nodeny/.  Не забывайте, что скрипт запускается от юзера под которым запущен вебсервер, поэтому если вы хотите что-то изменить, например, в фаерволе - вам нужно дать соответствующие привилегии скрипту (поставить бит, который позволит вам запускать скрипт от имени root при этом не являясь root). Все, что скрипт выведет в стандартный вывод - будет отображено в админке. Пример скрипта test.sh:

Код:
echo 'test ok!'


Название: Re: rev 400
Отправлено: fet4 от 21 Марта 2016, 20:13:02
Иногда забываешь какая у тебя ревизия, было бы удобно где-нибудь в уголку видеть ее ;)


Название: Re: rev 400
Отправлено: Warlock от 21 Марта 2016, 21:20:41
Иногда забываешь какая у тебя ревизия, было бы удобно где-нибудь в уголку видеть ее ;)
Нафига? о_О


Название: Re: rev 400
Отправлено: Pa4ka от 22 Марта 2016, 08:51:17
Иногда забываешь какая у тебя ревизия, было бы удобно где-нибудь в уголку видеть ее ;)
Цитировать
cd /usr/local/nodeny
svn info


Название: Re: rev 400
Отправлено: fet4 от 22 Марта 2016, 11:06:39
Иногда забываешь какая у тебя ревизия, было бы удобно где-нибудь в уголку видеть ее ;)
Нафига? о_О
В админке чаще бываешь чем в консоли.


Название: Re: rev 400
Отправлено: Warlock от 22 Марта 2016, 11:21:40
В админке чаще бываешь чем в консоли.
Ну так раз консолью редко пользуетесь, то вам тогда и не нужно, впринципе, знать номер ревизии.


Название: Re: rev 400
Отправлено: Pa4ka от 22 Марта 2016, 11:39:55
Иногда забываешь какая у тебя ревизия, было бы удобно где-нибудь в уголку видеть ее ;)
Нафига? о_О
В админке чаще бываешь чем в консоли.
ну просто скирпт тогда напишы
по порядку напишу)
Цитировать
cd /usr/local/nodeny
ee svn.sh
туда вставляй например

#!/usr/local/bin/bash
echo `/usr/local/bin/svn info|/usr/bin/grep Revi`

сохраняйся и
chmod +x svn.sh
В админке создай кнопку
Название как хочеш, а скрипт svn.sh


Название: Re: rev 400
Отправлено: sedo26 от 14 Мая 2016, 14:05:51
Подскажите какой командой можно запустить
'pfctl -f /etc/pf1.conf'

и после отобразить в биллинге 
'pfctl -sn'
?
Пробовал для запуска -

#!/usr/local/bin/bash
system('pfctl -f /etc/pf1.conf');  - не получается...





Название: Re: rev 400
Отправлено: Pa4ka от 14 Мая 2016, 14:23:21
Подскажите какой командой можно запустить
'pfctl -f /etc/pf1.conf'

и после отобразить в биллинге 
'pfctl -sn'
?
Пробовал для запуска -

#!/usr/local/bin/bash
system('pfctl -f /etc/pf1.conf');  - не получается...




system это функция языка perl
а вы запускаете bash
#!/usr/local/bin/bash
echo `pfctl -sn`;


Название: Re: rev 400
Отправлено: sedo26 от 14 Мая 2016, 14:36:06
echo 'pfctl -sn';  - это так же не правильно, при запуске echo будет выводиться pfctl -sn (то что в кавычках), а не вывод самой команды в системе...


Название: Re: rev 400
Отправлено: Pa4ka от 14 Мая 2016, 14:42:24
echo 'pfctl -sn';  - это так же не правильно, при запуске echo будет выводиться pfctl -sn (то что в кавычках), а не вывод самой команды в системе...
а я не ставил кавычки, ставь символы
Цитировать
`
и будет счастье)


Название: Re: rev 400
Отправлено: sedo26 от 14 Мая 2016, 15:14:59
не отображает вывод и c `, права есть


Название: Re: rev 400
Отправлено: Pa4ka от 14 Мая 2016, 16:10:03
не отображает вывод и c `, права есть

/usr/local/nodeny/test.sh
Цитировать
#!/usr/local/bin/bash
echo `/sbin/pfctl -sn`;
chown www:wheel test.sh #или от кого у тебя вебсервер работает
chmod +x test.sh



Название: Re: rev 400
Отправлено: sedo26 от 17 Мая 2016, 18:03:41
Не знаю почему, но так и не работает (хотя у пользователя pa4ka всё отображается) у меня же пусто..., при обновлении до рев.400 ошибок не было, с предыдущих постов (скрипт-проверка версии) - работает


Название: Re: rev 400
Отправлено: k291 от 28 Мая 2016, 17:58:36
Вызываю скрипт с текстом:
Код:
#!/usr/local/bin/bash
arp -a
текст выводится подряд, без переноса по строкам. Как упорядочить вывод?


Название: Re: rev 400
Отправлено: k291 от 28 Мая 2016, 18:05:24
Каждый раз при обращении к админке, кнопки меняются местами


Название: Re: rev 400
Отправлено: lidusya49 от 12 Июня 2016, 02:33:15
Вызываю скрипт с текстом:
Код:
#!/usr/local/bin/bash
arp -a
текст выводится подряд, без переноса по строкам. Как упорядочить вывод?


Название: Re: rev 400
Отправлено: Efendy от 12 Июня 2016, 10:34:56
Первая ссылка в гугле: https://en.wikipedia.org/wiki/Sort_(Unix)
За 5 секунд листания этой страницы я нашел вариант с разделением вывода по разделителю и сортировкой по n-ному полю. За 3 секунды написал вариант сортировки по мак адресам:
Код:
arp -an | sort -t' ' -k3
в выводе arp моего компа маки в 4й колонке (k3 - отсчет от нуля)
p.s. А если бы я потратил на листание не 5 секунд, а 7, я бы заметил, что -t' ' можно не писать - по умолчанию разделителями считаются пробелы


Название: Re: rev 400
Отправлено: cojiict от 16 Июня 2016, 09:51:13
Первая ссылка в гугле: http_s://en.wikipedia.org/wiki/Sort_(Unix)
За 5 секунд листания этой страницы я нашел вариант с разделением вывода по разделителю и сортировкой по n-ному полю. За 3 секунды написал вариант сортировки по мак адресам:
Код:
arp -an | sort -t' ' -k3
в выводе arp моего компа маки в 4й колонке (k3 - отсчет от нуля)
p.s. А если бы я потратил на листание не 5 секунд, а 7, я бы заметил, что -t' ' можно не писать - по умолчанию разделителями считаются пробелы
всеодно в адмінці відображає в ряд. Є ідеї?


Название: Re: rev 400
Отправлено: poxy. от 16 Июня 2016, 11:14:13
как бы на насах выполнять скрипты, когда ядро на другом сервере ???


Название: Re: rev 400
Отправлено: Efendy от 16 Июня 2016, 11:25:59
Первая ссылка в гугле: http_s://en.wikipedia.org/wiki/Sort_(Unix)
За 5 секунд листания этой страницы я нашел вариант с разделением вывода по разделителю и сортировкой по n-ному полю. За 3 секунды написал вариант сортировки по мак адресам:
Код:
arp -an | sort -t' ' -k3
в выводе arp моего компа маки в 4й колонке (k3 - отсчет от нуля)
p.s. А если бы я потратил на листание не 5 секунд, а 7, я бы заметил, что -t' ' можно не писать - по умолчанию разделителями считаются пробелы
всеодно в адмінці відображає в ряд. Є ідеї?
в огороде бузина, а в Киеве дядька? Я тебе написал как отсортировать, а ты мне "все равно в ряд".


Название: Re: rev 400
Отправлено: cojiict от 16 Июня 2016, 13:57:53
Или лыжи не едут или у меня недостаток образования...
Дело то не в сортировке, а в том что в консоли каждая строка выводится как нужно
Код:
tail -10 /usr/local/nodeny/logs/dhcp.events.log
09.02.2016 04:12:35 [commit] ip=10.100.0.2, mac=c4:e9:84:fa:ee:ab, mac_ok=c4e984faeeab | Ok
09.02.2016 04:12:35 [commit] ip=10.100.0.3, mac=60:e3:27:53:76:a3, mac_ok=60e3275376a3 | Ok
09.02.2016 04:12:35 [commit] ip=10.100.10.101, mac=64:66:b3:36:97:1d, mac_ok=6466b336971d | Ok
09.02.2016 04:12:35 [commit] ip=10.100.0.4, mac=bc:ae:c5:94:55:60, mac_ok=bcaec5945560 | Ok
09.02.2016 04:12:36 [commit] ip=10.100.4.230, mac=30:b5:c2:99:f:b7, mac_ok=30b5c2990fb7 | Ok
09.02.2016 04:12:36 [commit] ip=10.100.0.6, mac=c0:4a:0:db:7b:c5, mac_ok=c04a00db7bc5 | Ok
09.02.2016 04:12:36 [commit] ip=10.100.0.5, mac=90:94:e4:cc:cc:25, mac_ok=9094e4cccc25 | Ok
09.02.2016 04:12:36 [commit] ip=10.100.12.41, mac=fc:75:16:42:71:bd, mac_ok=fc75164271bd | Ok
09.02.2016 04:12:36 [commit] ip=10.100.6.21, mac=c4:6e:1f:ba:d7:e7, mac_ok=c46e1fbad7e7, port=7062b84313c0[26] | Ok
09.02.2016 04:12:36 [commit] ip=10.100.12.139, mac=0:1a:92:bc:d4:f8, mac_ok=001a92bcd4f8, port=7062b84313c0[27] | Ok
,  а в админке вот как то так...
Покажи пример рабочего скрипта  на примере tail...


Название: Re: rev 400
Отправлено: vddav от 16 Июня 2016, 14:09:25
как бы на насах выполнять скрипты, когда ядро на другом сервере ???
ssh сервер команда


Название: Re: rev 400
Отправлено: Efendy от 16 Июня 2016, 16:56:30
Я наверное подумал, что
Цитировать
Как упорядочить вывод?
от слова порядок, т.е order, которое имеет одно из значений - сортировать. Думаю тут уместна была бы другая фраза.

Код:
#!/usr/local/bin/bash
echo '<pre>'
arp -a
echo '</pre>'