Посылка команд процессу |
Здравствуйте, гость ( Вход | Регистрация )
Посылка команд процессу |
19.12.2013, 9:41
Сообщение
#1
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 9 130 Спасибо сказали: 0 раз |
Если вдруг подобный вопрос уже задавался - извиняюсь. Как послать команду процессу PtokaX? Нужно что бы при открытии определённого bat файла птоха перезагружал текстовые файлы.
|
|
|
19.12.2013, 18:23
Сообщение
#2
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Panasonic, напишите и отправьте в чат команду:
Цитата !reloadtxt и файлы Птоки перезагрузятся.Короче, всё делается через через строку сообщений, главное, написать в строке сообщений нужную команду и отправить в чат. Список доступных администратору команд можете получить так же командой, отправив в чат: Цитата !help А чтоб не делать всё это через чат, можно в меню хаба (в админскую часть меню) и прямо из меню отправлять команды, результат будет тот же. И такой скрипт с меню хаба есть на форуме. Кажется, называется HubMenu, поиском найдёте. Чего там не хватает, сами добавите по образу и подобию других присутствующих там команд. |
|
|
19.12.2013, 19:42
Сообщение
#3
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Ksan, он же вроде задал условия для задачи:
Цитата Нужно что бы при открытии определённого bat файла птоха перезагружал текстовые файлы. Ты уверен, что посоветовал ему то, что он хотел?))) А если по теме ТС, то наверно можно только сделать при помощи файла-маркера или записи в файле, допустим, если создан файл reload_txts в какой-то определенной папке, то ребутим скриптом текстовые файлы. в bat файле можно просто прописать создание файла-маркера. Можно конечно просто воспользоваться удаленным администрированием хаба через PXControl. |
|
|
19.12.2013, 20:01
Сообщение
#4
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Ksan, он же вроде задал условия для задачи: Но он сделал это так, что без толмача не разобраться. Ты уверен, что посоветовал ему то, что он хотел?))) Да кто его знает, что он хотел... Ещё можно заточить какой-нибудь из пингеров под эту задачу: будет при вызове из командной строки заходить на хаб под админским профилем и говорить !reloadtxt с последующим отключением от хаба. Осталось придумать, как ловить событие "при открытии определённого bat файла". |
|
|
19.12.2013, 20:14
Сообщение
#5
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Nickolya, я думаю, что ему важен не сам bat-файл, а именно перезагрузка текстовых файлов Птоки. А про bat он написал только потому, что не знал, что бы ещё придумать такого, чтоб перезагрузить эти самые файлы.
Как-то так, я думаю. Дальше моя экстрасенсорика не может углубиться. |
|
|
20.12.2013, 11:18
Сообщение
#6
|
|
Продвинутый участник Группа: Пользователи Сообщений: 155 Регистрация: 11.1.2009 Пользователь №: 1 772 Спасибо сказали: 29 раз |
усложняете, товарищи))
Оно, конечно, можно как-то написать скрипт для хаба, который будет смотреть события виндового журнала безопасности и выполнять какие-то действия при появлении строчек "..\*\определённый_файл.bat" , но вероятность, что оно такое нужно, "крайне мала" (нужно постараться, чтобы придумать юзкейс) "Определённый bat-файл" - просто специально написанный, чтобы каким-то образом отправлять хабу произвольные команды. Да, я тоже вижу 2 варианта 1) бат-файл создаёт в назначенном месте специальный файл + на самом хабе висит скрипт, который будет выполнять команду по наличию файла или по его содержимому (список команд на выполнение). 2) примитивная реализация дц-клиента (переделанный пингер), который заходит на хаб от имени админа, выполняет несколько команд и отключается. второй вариант мне нравится больше (больше гибкости, один "компонент", не нужна циклическая проверка наличия и содержимого файла, проще сделать обработку ошибок) Нужно только найти пингер на переделку =) |
|
|
21.12.2013, 15:21
Сообщение
#7
|
|
Продвинутый участник Группа: Пользователи Сообщений: 176 Регистрация: 11.7.2008 Пользователь №: 171 Спасибо сказали: 182 раза |
На примере покажу как я реализовал включение/выключение радио на сервере хаба, батники не привожу, там фантазия безгранична.
local sMenu = "= Меню хаба =\\X Радио\\" tAllowed = { -- Профили, имеющие доступ [0] = true, -- Owner [1] = false, -- Admin [2] = false, -- Operator [3] = false, -- sVIP } function OnStartup() sBot = SetMan.GetString(21) end function OpConnected(user) if tAllowed[user.iProfile] then Core.SendToNick(user.sNick,"$UserCommand 1 3 "..sMenu.."Включить$<%[mynick]> #radioon||") Core.SendToNick(user.sNick,"$UserCommand 1 3 "..sMenu.."Выключить$<%[mynick]> #radiooff||") end end function ChatArrival(tUser,sData) if tAllowed[tUser.iProfile] then local data = sData:match("%b<>%s(.*)|") local sCmd = data:match"(%S*)" if sCmd == "#radioon" then os.execute("c:/StartRadio.bat") Core.SendToUser(tUser,"<"..sBot.."> Мой Господин, радио хаба включено.") return true end if sCmd == "#radiooff" then os.execute("c:/ShutDownRadio.bat") Core.SendToUser(tUser,"<"..sBot.."> Мой Господин, Радио хаба выключено.") return true end end collectgarbage("collect") end |
|
|
22.12.2013, 0:34
Сообщение
#8
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
прикольно))) "Core.SendToUser(tUser,"<"..sBot.."> Мой Господин, Радио хаба выключено.")"
|
|
|
23.12.2013, 5:52
Сообщение
#9
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 9 130 Спасибо сказали: 0 раз |
Опишу ситуацию подробнее... Есть сайт и хаб. Регистрация на хабе реализована через регистрацию на сайте. Через PHP код добавляются пользователи в файл RegisteredUsers.xml. Однако птоха просто не видит новых пользователей до перезагрузки файлов или перезагрузки самой птохи. Я эту проблему решил принудительным завершением и запуском процесса птохи через bat файл, который в свою очередь включил в php код (функция exec). Но постоянный ребут хаба это не дело. Поэтому суть вопроса такова - как можно послать команду (на перезагрузку текст. файлов) на хаб через php код или бат файл?
|
|
|
23.12.2013, 7:19
Сообщение
#10
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Panasonic, и где вы были 4 дня, пока тут ломались копья? Может, давно бы уже решили вашу проблему, если бы сразу внесли ясность.
А по существу, решений несколько, я думаю. Одно из них - луа-скриптом хаба периодически считывать файл с вашими новыми юзерами (их ники и пароли), и, если их нет в среди уже регистренных, просто добавлять в текущий список регистренных юзеров. Открываете файл скриптом, парсите его, главное, получить оттуда последовательно сочетания ник - пароль (ну профиль, понятно, будет 2 (регистрированный юзер)), далее должен сработать примерно такой код: Код RegMan.AddReg(sNick, sPass, 2) -- сам процесс регистрации RegMan.Save() -- сохранение базы профилей потом закрываете открытый файл. Это не полный скрипт, а просто главный кусок, вокруг которого строите инфраструктуру, естественно. Думаю, вам это просто будет сделать. PS: Поправка - в коде цифра не 2, а 3... малость промахнулся (прицел сбился). |
|
|
23.12.2013, 8:10
Сообщение
#11
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 9 130 Спасибо сказали: 0 раз |
Все проверки уже реализованы через PHP. Задача проста, после регистрации нового юзера просто перезагружать текстовые файлы. А вот про скрипт вы подали не плохую идею. Но дело в том, что я нуб в LUA. Можете помочь в написании? Суть в том, что бы каждый промежуток времени, который задаётся переменной, вызывалась функция перезагружающая текстовые файлы?
|
|
|
23.12.2013, 15:56
Сообщение
#12
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Ksan,
Цитата будет 2 (регистрированный юзер)) 2 - VIP (стандарт птоки) , а 3 - Reg P.S. По теме, вэб-регистрация есть в InstaHub посмотри как там сделано это, может поможет. |
|
|
23.12.2013, 16:13
Сообщение
#13
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Артём, опс, да, 3.
Ведь собирался же писать 3, а откуда-то втиснулась двойка. Вот же я троечник.. :( |
|
|
23.12.2013, 16:26
Сообщение
#14
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 9 130 Спасибо сказали: 0 раз |
|
|
|
23.12.2013, 16:59
Сообщение
#15
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Нет. Через определённый промежуток времени проверяется файл из определённой папки, который заполняется (или обновляется, или по новой записывается, всё зависит от алгоритма вашего скрипта на хабе и скрипта сайта) сайтом, если в файле есть изменения (скажем, размер изменился, или появилось слово-признак), то скрипт считывает информацию из файла, сортирует как нужно, записывает в таблицу зарегистрированных юзеров и сохраняет эту таблицу в файл. Последние 2 действия я как раз и показал выше в виде кода.
|
|
|
23.12.2013, 17:21
Сообщение
#16
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Panasonic, а ты смотрел его или нет? там есть InstaHub\webreg и там куча РНРшных скриптов, возможно там интересное для себя найдёшь.
|
|
|
Похожие темы
|
Сейчас: 26.11.2024, 21:00 |