The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с переносом файлов по FTP"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Проблема с переносом файлов по FTP"  +/
Сообщение от d_pilot email(ok) on 23-Окт-09, 09:09 
Имеется следущая система:
FTP сервер. На сервере создаются файлы в дериктории. Клиент скриптом по расписанию по FTP копирует файлы себе и удаляет с сервера. Проблема в том, когда имеем файл, который ещё не записан до конца, он не удаляется и в итоге дублируется. Как этого избежать? как сделатья так чтобы не записаный до конца файл не копирывался?
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с переносом файлов по FTP"  +/
Сообщение от бусик on 23-Окт-09, 09:40 
>Имеется следущая система:
>FTP сервер. На сервере создаются файлы в дериктории. Клиент скриптом по расписанию
>по FTP копирует файлы себе и удаляет с сервера. Проблема в
>том, когда имеем файл, который ещё не записан до конца, он
>не удаляется и в итоге дублируется. Как этого избежать? как сделатья
>так чтобы не записаный до конца файл не копирывался?

а клиент каким образом должен узнать, до конца файл записан на сервере или нет? постановка задачи весьма интересная)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблема с переносом файлов по FTP"  +/
Сообщение от d_pilot email(ok) on 23-Окт-09, 09:47 
>>Имеется следущая система:
>>FTP сервер. На сервере создаются файлы в дериктории. Клиент скриптом по расписанию
>>по FTP копирует файлы себе и удаляет с сервера. Проблема в
>>том, когда имеем файл, который ещё не записан до конца, он
>>не удаляется и в итоге дублируется. Как этого избежать? как сделатья
>>так чтобы не записаный до конца файл не копирывался?
>
>а клиент каким образом должен узнать, до конца файл записан на сервере
>или нет? постановка задачи весьма интересная)

клиент ни как не узнает. в этом то и проблема :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Проблема с переносом файлов по FTP"  +/
Сообщение от ronin (??) on 23-Окт-09, 10:07 
>[оверквотинг удален]
>>>FTP сервер. На сервере создаются файлы в дериктории. Клиент скриптом по расписанию
>>>по FTP копирует файлы себе и удаляет с сервера. Проблема в
>>>том, когда имеем файл, который ещё не записан до конца, он
>>>не удаляется и в итоге дублируется. Как этого избежать? как сделатья
>>>так чтобы не записаный до конца файл не копирывался?
>>
>>а клиент каким образом должен узнать, до конца файл записан на сервере
>>или нет? постановка задачи весьма интересная)
>
>клиент ни как не узнает. в этом то и проблема :)

Копировать во временный файл на том же разделе диска. По окончании копирования - переименовать/переместить в директорию FTP сервера.


respect,
ronin

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Проблема с переносом файлов по FTP"  +/
Сообщение от d_pilot email(ok) on 23-Окт-09, 10:13 
>[оверквотинг удален]
>>>или нет? постановка задачи весьма интересная)
>>
>>клиент ни как не узнает. в этом то и проблема :)
>
>Копировать во временный файл на том же разделе диска. По окончании копирования
>- переименовать/переместить в директорию FTP сервера.
>
>
>respect,
>ronin

было бы всё так просто - небыло бы вопроса. файлы создаются приложением, код которого закрыт.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Проблема с переносом файлов по FTP"  +/
Сообщение от Pahanivo email(ok) on 23-Окт-09, 10:20 
>[оверквотинг удален]
>>
>>Копировать во временный файл на том же разделе диска. По окончании копирования
>>- переименовать/переместить в директорию FTP сервера.
>>
>>
>>respect,
>>ronin
>
>было бы всё так просто - небыло бы вопроса. файлы создаются приложением,
>код которого закрыт.

напрягу свои телепатические способности )))
вероятно у тебя создается какойто лог или датафайл на сервере - создается он у тебя скорей всего регулярно те старые файлы через определенный промежуток времени уже закрыты
те есть некий таймаут спустя который можно по дате модификации файла с определенной долей уверенности сказать что он закрыт - скриптом учитывает этот таймут и все - те не копируем самые последние файлы
если я ошибаюсь изложи задачу поподробнее

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Проблема с переносом файлов по FTP"  +/
Сообщение от d_pilot email(ok) on 23-Окт-09, 12:09 
>[оверквотинг удален]
>>код которого закрыт.
>
>напрягу свои телепатические способности )))
>вероятно у тебя создается какойто лог или датафайл на сервере - создается
>он у тебя скорей всего регулярно те старые файлы через определенный
>промежуток времени уже закрыты
>те есть некий таймаут спустя который можно по дате модификации файла с
>определенной долей уверенности сказать что он закрыт - скриптом учитывает этот
>таймут и все - те не копируем самые последние файлы
>если я ошибаюсь изложи задачу поподробнее

Думал обойдётся без этого.
Есть софт который генерит лог. Логов много (порядка 150 файлов в минуту) этот лог вырезается клиентом, который этот лог анализирует и ложит в базу. Повторятеся это каждые 5 минут. И всё бы хорошо, но некоторые лог файлы пишутся быстро, а некотороые медленно(разный объём данных в файле). Т.е. то что файл послдний - не гарантирует, что именно он не закрыт.

Есть вариант формировать список файлов, у которых закрыты дескрипторы за пару секунд до того как выполница клиентский скрипт.
Так же есть вариант на клиенте удалять файлы, которые не удалось удалить на сервере.

Просто интересно, какие ещё решения возможны. Хотел уже было написать демона, который отслеживал файлы в одной директории и при закрытии файла перемещал их в другую :) Но не знаю с какой стороны подстуиться.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру