WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Советы » Пересылка результатов обработки по FTP

Пересылка результатов обработки по FTP


Дата публикации: 17-04-2008

Итак, мы обработали клиентский запрос и в результате получили несколько переменных с интересующей нас информацией.

Удобно записать эти переменные в какой-нибудь файл, который затем легко можно будет обработать, например в csv. Далее его нужно заархивировать для уменьшения траффика и передать по FTP на наш локальный SQL сервер для последующей обработки. Для записи строки в csv файл добавляем:

csv.write('%s;%s;%s;%s;%s;%s;%s;%s;%s;%s\n' % (ip, host, date, time, request, status, bytes, referer, browser, country))

(подразумевается, что csv-файловый объект, открытый на запись)

 

Для копирования файла по протоколу FTP используем модуль ftplib. Так как объем данных может быть очень большим, заархивируем файл:


import os

command = 'bzip2 -z log.csv'
os.system(command)

Затем создаем соединение с FTP сервером и передаем файл:


ftp = FTP('ftp.myhost.ru', 'oartemov', 'secret')
ftp.set_pasv(1)
ftp.cwd('/export')
ftp_command = 'STOR log.csv.bz2'
ftp.storbinary(ftp_command, open('log.csv.bz2'))
ftp.quit()

Удаляем ненужный архив:


os.unlink('log.csv.bz2')

В примере описывается достаточно экзотический случай, когда FTP сервер находится внутри локальной сети, а веб-сервер, стоящий у провайдера, выступает в роли клиента. Обычно же FTP сервер установлен на том же компьютере, что и веб-сервер, поэтому скрипт необходимо запускать с компьютера, находящегося в локальной сети и вместо метода storbinary() использовать retrbinary(). Можно код, ответственный за получение данных по FTP, разместить вначале скрипта, помещающего данные в СУБД.

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Неизвестный автор:

"Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять."

Опрос

Какой браузер Вы используете?

Internet Explorer
Google Chrome
Mozilla Firefox
Netscape Navigator
Maxthon Browser
Opera
Mozilla Suite
SeaMonkey
K-Meleon
Safari
Amaya
Avant Browser
SlimBrowser
Другой...