Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: mrowcp в May 21, 2010, 20:31



Титла: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: mrowcp в May 21, 2010, 20:31
Здравейте,
Имам следното питане: има ли начин ( гледам в google има доста писано, но нищо конкретно ) да се провери дали целия файл е бил свален от фтп-то.Примерно нещо от рода на:

след като user1 се логне в машината ( Linux ) пусна да сваля файл, фтп-то прави в лога запис, че е свалено едикакво си, като същевременно проверява дали големината на изпратения файл съвпада с тази записана в лога?


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: romeo_ninov в May 21, 2010, 20:49
Здравейте,
Имам следното питане: има ли начин ( гледам в google има доста писано, но нищо конкретно ) да се провери дали целия файл е бил свален от фтп-то.Примерно нещо от рода на:

след като user1 се логне в машината ( Linux ) пусна да сваля файл, фтп-то прави в лога запис, че е свалено едикакво си, като същевременно проверява дали големината на изпратения файл съвпада с тази записана в лога?
md5 сигнатура с файла?


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: mrowcp в May 21, 2010, 21:01
Здравейте,
Имам следното питане: има ли начин ( гледам в google има доста писано, но нищо конкретно ) да се провери дали целия файл е бил свален от фтп-то.Примерно нещо от рода на:

след като user1 се логне в машината ( Linux ) пусна да сваля файл, фтп-то прави в лога запис, че е свалено едикакво си, като същевременно проверява дали големината на изпратения файл съвпада с тази записана в лога?
md5 сигнатура с файла?

Ами не знам дали ще стане, защото случая е следния: имам Linux машина, там се генерират/прехвърлят през определен интервал файлове.Друга машина с Windows има пуснат софт в който са описани user и пас за логване на Linux ftp-to, приложението се логва и дърпа всички нови файлове.
Как ще стане генерирането на md5?След като Linux-a има файл за трансфер към Windows?Защото Windows поне през приложението няма как да го накарам да провери md5-та.


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: romeo_ninov в May 21, 2010, 21:07
Здравейте,
Имам следното питане: има ли начин ( гледам в google има доста писано, но нищо конкретно ) да се провери дали целия файл е бил свален от фтп-то.Примерно нещо от рода на:

след като user1 се логне в машината ( Linux ) пусна да сваля файл, фтп-то прави в лога запис, че е свалено едикакво си, като същевременно проверява дали големината на изпратения файл съвпада с тази записана в лога?
md5 сигнатура с файла?

Ами не знам дали ще стане, защото случая е следния: имам Linux машина, там се генерират/прехвърлят през определен интервал файлове.Друга машина с Windows има пуснат софт в който са описани user и пас за логване на Linux ftp-to, приложението се логва и дърпа всички нови файлове.
Как ще стане генерирането на md5?След като Linux-a има файл за трансфер към Windows?Защото Windows поне през приложението няма как да го накарам да провери md5-та.
Просто, след като се генерират файловете се генерира с md5sum файл с контролните им суми
След това под WIndows с тази програмка: http://www.pc-tools.net/win32/md5sums/ ги проверяваш след като си ги изтеглил


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: mrowcp в May 21, 2010, 21:19
Здравейте,
Имам следното питане: има ли начин ( гледам в google има доста писано, но нищо конкретно ) да се провери дали целия файл е бил свален от фтп-то.Примерно нещо от рода на:

след като user1 се логне в машината ( Linux ) пусна да сваля файл, фтп-то прави в лога запис, че е свалено едикакво си, като същевременно проверява дали големината на изпратения файл съвпада с тази записана в лога?
md5 сигнатура с файла?

Ами не знам дали ще стане, защото случая е следния: имам Linux машина, там се генерират/прехвърлят през определен интервал файлове.Друга машина с Windows има пуснат софт в който са описани user и пас за логване на Linux ftp-to, приложението се логва и дърпа всички нови файлове.
Как ще стане генерирането на md5?След като Linux-a има файл за трансфер към Windows?Защото Windows поне през приложението няма как да го накарам да провери md5-та.
Просто, след като се генерират файловете се генерира с md5sum файл с контролните им суми
След това под WIndows с тази програмка: http://www.pc-tools.net/win32/md5sums/ ги проверяваш след като си ги изтеглил

всичко трябва да става автоматично


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: romeo_ninov в May 21, 2010, 21:22
всичко трябва да става автоматично
и какъв е проблема, нали някакъв скрипт създава тези файлове (в линукс), добави му накрая да създаде и чексумата
И при WIndows пак bat файл ги тегли, добави в началото да ги проверява
Иначе в лога може да пише едно, но при клиента да не е записано всичко или да е записано с грешки


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: jet в May 21, 2010, 22:29
другия вариант е трансферираните файлове да са архивирани - например със ЗИП
прост .бат файл може да проверява интегритета на сваления архив (всички архиватори го имат- проверяваш ЕРРОРЛЕВЕЛ).
Ако интегритета е ок - значи трансфера е железен, ако не - ретрансфер.


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: romeo_ninov в May 21, 2010, 22:32
другия вариант е трансферираните файлове да са архивирани - например със ЗИП
прост .бат файл може да проверява интегритета на сваления архив (всички архиватори го имат- проверяваш ЕРРОРЛЕВЕЛ).
Ако интегритета е ок - значи трансфера е железен, ако не - ретрансфер.
Да, много добра идея, не ми хрумна :)


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: neter в May 22, 2010, 00:25
Вече си получил добри идеи. Само да вметна, че ftp сървърите знаят дали изтегленият файл е изтеглен нацяло или не, и записват това в лога, ако е позволено да водят логове за това (xferlog). Когато даден файл бъде изтеглен нацяло без грешки, в xferlog-а се записва ред за този файл, който ред завършва с буквата "c". Тази буква "c" означава completion-status и указва, че файлът е бил изтеглен нацяло ;)


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: gat3way в May 22, 2010, 00:27
Това е много добра идея. Реализацията с мд5 сумите страда от race conditions, които са много малко вероятни, ма знае ли човек. Примерно какво се случва, ако уиндоуския клиент лист-не директорията в момента в който скрипта записва файла, но не е записал файла с чексумата...прави локално digest и няма с какво да го сравни, при това положение не е много ясно какво правим, особено ако уиндоуският клиент е направен така че да трие файловете отсреща след като ги е издърпал. Но това с интегритета на архива гарантира някаква атомарност, в смисъл не може да се случат такива изцепки.


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: romeo_ninov в May 22, 2010, 14:26
Вече си получил добри идеи. Само да вметна, че ftp сървърите знаят дали изтегленият файл е изтеглен нацяло или не, и записват това в лога, ако е позволено да водят логове за това (xferlog). Когато даден файл бъде изтеглен нацяло без грешки, в xferlog-а се записва ред за този файл, който ред завършва с буквата "c". Тази буква "c" означава completion-status и указва, че файлът е бил изтеглен нацяло ;)
Едно е изтеглен изцяло, друго е записан изцяло и без промени, нали?
Това е много добра идея. Реализацията с мд5 сумите страда от race conditions, които са много малко вероятни, ма знае ли човек. Примерно какво се случва, ако уиндоуския клиент лист-не директорията в момента в който скрипта записва файла, но не е записал файла с чексумата...прави локално digest и няма с какво да го сравни, при това положение не е много ясно какво правим, особено ако уиндоуският клиент е направен така че да трие файловете отсреща след като ги е издърпал. Но това с интегритета на архива гарантира някаква атомарност, в смисъл не може да се случат такива изцепки.
Да, да... защо ли имам спомени че zip ползва crc32, та колизиите ще са доста повече сравнено с md5
И доколкото разбирам файла се създава в линукс, но не се тегли веднага, т.е. има време външна програма да драсне един файл със чексумите. Освен това времето за създаване на чексум е доста по-малко (в огромния процент случаи) от времето за създаване на файла. Така че вероятността да се попадне в ситуацията, която описваш е много малка :)


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: neter в May 22, 2010, 16:43
Едно е изтеглен изцяло, друго е записан изцяло и без промени, нали?
Естествено. Затова беше само вмятане - как стои въпросът на сървърно ниво. Въпросът все пак май си е за на клиентско ниво :)


Титла: Re: ftp и проверка на големината на файла преди и след сваляне
Публикувано от: romeo_ninov в May 22, 2010, 17:07
Едно е изтеглен изцяло, друго е записан изцяло и без промени, нали?
Естествено. Затова беше само вмятане - как стои въпросът на сървърно ниво. Въпросът все пак май си е за на клиентско ниво :)
Да, само да избистрим с gat3way как е по-добре да се направи :)  [_]3