Re[2]: [Ruby] Как отследить копирование

SoNaR sonar at scli.ru
Thu Aug 28 13:40:01 MSD 2003


Hello Dmitry,

Thursday, August 28, 2003, 1:06:28 PM, you wrote:

DVS> On Thursday 28 August 2003 16:54, you wrote:
>> Hello Dmitry,
>>
>> Thursday, August 28, 2003, 12:37:34 PM, you wrote:
>> DVS> On Thursday 28 August 2003 16:09, SoNaR wrote:
>> >> Hello Ruby,
>> >>
>> >>   как средствами Ruby отследить копирование, переименование и удаление
>> >>   файлов?
>>
>> DVS> Копирование/переименование/удаление файлов _из_ ruby? Или из ruby
>> просто DVS> отслеживать? Если второе то шансов реализовать это просто -
>> нет.
>>
>> Именно второе... думаю, что ты не прав, т.к. вызов API ОС из Ruby
>> возможен -- это раз. Можно отслеживать процессы -- это два. Вот только
>> опыта работы с этим у меня маловато...
DVS> Видимо я не совсем правильно выразился, 

>> Если второе то шансов реализовать это _просто_ (просто реализовать, а не 
DVS> просто нет) - нет.
DVS> ОС API конечно никто не отменял, но:
DVS> 1) это будет однозначно платформозависимое решение
DVS> 2) возможно даже на одной и тойже платформе, но на разных версиях системы
DVS> оно будет работать не корректно
DVS> 3) не думаю что руби это лучший язык для таких задач, лучше написать модуль на 
DVS> С.

В принципе можно вот что сделать:
Отследить копирование довольно таки сложно, поэтому разобьем данную
проблему на более мелкие. В принципе копирование это создание еще
одного файла, который отслеживается. Поэтому можно отслеживать
появление файла, который уже есть.
Делаем снимок отслеживаемых файлов и если он не совпадает с тем,
который был до этого, то произошли изменения.
Дилема вот в чем. В принципе для хорошей слежки надо ориентироваться
не на атрибуты файла, а на его контрольную сумму. Лучше всего
организовать следующую схему: если поменялись атрибуты, то проверить
контрольную сумму. И если контрольная сумма не совпадает, то
обрабатывать изменения.

ЗЫ. Это мысли вслух, если у кого есть идеи -- поделитесь.


-- 
Best regards,
 SoNaR                            mailto:sonar at scli.ru




More information about the Ruby mailing list