Форум сайта python.su
0
Доброго времени суток!
Возникла необходимость получать данные с сервера. Но как это сделать непонятно.
Т.е. нужно чтобы программа была запущена на компьютере, коннектилась к серверу и читала определенный файл. И если в этом файле появляется запись содержащая “error”, то выводить все что после “error” в консоль программы + сохранение в определенный файл уже на моем компьютере. Т.е. мониторинг лога на появление ошибок.
Кто-н сталкивался с подобной задачей? Какие материалы необходимо изучить? может у кого-н есть пример?
Спасибо!
Офлайн
26
коннектилась к серверу и читала определенный файл
Офлайн
6
наверное два варианта, либо вешаете свой демон на удаленный пк, который мониторит файл и отправляет данные вам, либо через авторизованный доступ
Офлайн
568
А что на сервере то есть? Web-server, может быть, или FTP?
Офлайн
0
как коннект будет проходить? HTTP? sFTP? SSH?
- без разницы. какой из способов наиболее легкий?
тут даже можно не мониторить файл а открыть последние 3 файла из папки и в них сделать поиск. т.к. файлы обновляются там довольно часто.
еще один вопрос - обязательно использовать клиент серверное приложение или можно обойтись без него? т.е. можно открыть файл на чтение на сервере аналогично как открываю у себя?
Отредактировано EvgenKlim (Авг. 25, 2014 11:57:30)
Офлайн
0
FishHook
Web-server есть
Офлайн
568
EvgenKlimМаленький скрипт на сервере, который отдает список файлов в определенном каталоге, в виде урла. Веб сервер настраиваем на отдачу статики из этого каталога. Ну и получаем файл по урлу.
FishHookWeb-server есть
Офлайн
49
FishHook
Маленький скрипт на сервере, который отдает список файлов в определенном каталоге, в виде урла. Веб сервер настраиваем на отдачу статики из этого каталога. Ну и получаем файл по урлу.
python -m SimpleHTTPServer
Офлайн
6
У меня возникли вопросы:
1) каким образом необходимо получать статистику об ошибках и насколько оперативно
2) сколько строк вываливается в фаил
3) с какой частотой нужно проверять данные в фаиле
4) где должна отображаться статистика
___________
предположу для теста, что у тебя 1 фаил и проверять их нужно раз в 5 минут, данные ты смотришь в другом фаиле.
если устраивает такой момент то решение будет примерно такое.
1) написать скрипт который будет построчно читать фаил и искать в нём error после чего затирать этот фаил предварительно забекапив его.
2) запускать этот скрипт по крону
3) произвести синхронизацию фаила через различные методы, такие как: открытие фаила в вебсервере, bitsync, скачивание по ftp
___________
Если необходимо могу наброски сделать для 1 фаила который содержит строку с ошибкой и складывает его в отдельный фаил. насчёт скорости обработки такого скрипта точно сказать не могу. Будет хорошо если приложишь образец фаила лога.
Отредактировано sypper-pit (Авг. 28, 2014 01:19:00)
Офлайн
6
myfile = open("test.txt", "rU") #чтение из файла for line in myfile.xreadlines(): #построчно читаем файл if "error" in mylines: # делает поиск в строке with open('errors.txt', 'a', encoding='utf-8') as myerrors: # записывает в новый фаил print(mylines, file=myerrors)
Отредактировано sypper-pit (Авг. 28, 2014 01:25:11)
Офлайн