Войти

Показать полную графическую версию : [решено] VSftpd could not create file


archevod
02-07-2017, 08:40
Доброго дня.
В локальной сети имеется комп с шарой (win 2k8). На нем крутится cobian backup, который бэкапит расшаренную папку в 2 места - по smb на другой виндовый сервер и по ftp на debian с vsftpd. Есть несколько файлов, которые на ftp не хотят отправляться, в логах cobian пишет could not create file. Закрались мысли, что связка путь+имя небэкапящихся файлов слишком длинное и vsftpd (или debian?) их отвергает (эти же файлы на smb c win кидаются нормально). Может кто нибудь подскажет, где в лине или фтп отыскать эту настройку?

Jula0071
02-07-2017, 17:39
Есть несколько файлов »
Пример?
что связка путь+имя небэкапящихся файлов слишком длинное »
У современных ФС это вряд ли. Может, ограничение самого протокола ftp. Хотя, если сервер соответствует RFC 2640, проблем быть не должно.

Как выход, можно перед заливкой закатывать бекапы в тарболы. Или пользоваться чем-нибудь менее поросшим мохом, чем ftp, например rsync.

archevod
03-07-2017, 12:31
Пример? »
2017-07-02 01:15 Ошибка закачки файла "C:\Share-Server\graf_files\А63-3208_2012\607658901\Документ, подтверждающий отправку Истцу заказным письмом с уведомлением о вручении копии отзыва и прилагаемых к нему документов, которые у Ответчика отсутствуют 1 л..pdf": Could not create file.

mwz
03-07-2017, 13:01
archevod, между кавычками 220 символов, до максимума вроде бы ещё ~тридцать в запасе. Но это для Windows: насколько помню (но может быть спецы меня и поправят), в некоторых *nix ограничение до 255 (ну может на один-два меньше) на количество байт в имени. Юникодные же русские символы кодируются двумя байтами, т.е. в байтах уже заметный перебор. Возможно имеет смысл копать в эту сторону.

Jula0071
03-07-2017, 19:49
в некоторых *nix ограничение до 255 (ну может на один-два меньше) на количество байт в имени. »
Верно. Большинство файловых систем, используемх в линуксах, имеет ограничение на длину имени файла в 255 байта. Только и у NTFS такое же ограничение. Но

$ echo "Документ, подтверждающий отправку Истцу заказным письмом с уведомлением о вручении копи отзыва и прилагаемых к нему документов, которые у Ответчика отсутствуют 1 л..pdf" | wc -c
309

показывает, что это ограничение как то обходится.
archevod, для проверки, выполните на своём линуксе

touch "/tmp/Документ, подтверждающий отправку Истцу заказным письмом с уведомлением о вручении копии отзыва и прилагаемых к нему документов, которые у Ответчика отсутствуют 1 л..pdf"
ls -la "/tmp/Документ, подтверждающий отправку Истцу заказным письмом с уведомлением о вручении копии отзыва и прилагаемых к нему документов, которые у Ответчика отсутствуют 1 л..pdf"

mwz
04-07-2017, 09:52
Большинство файловых систем, используемх в линуксах, имеет ограничение на длину имени файла в 255 байта. Только и у NTFS такое же ограничение»

Можно я повторю по поводу Windows?
Для Windows ограничение длины имени (включая путь) — несколько больше 250 символов, но не байт.

Смотрим хотя бы проблемы Линуксового сообщества, куда я заглядываю редко и поэтому высказался лишь предположительно, например Bug 9266 - Увеличить ограничение на длину названия файла в Linux (http://bugs.etersoft.ru/show_bug.cgi?id=9266)
Для русских букв в Linux ограничение на длину названия файла в два раза меньше, чем Windows: В Linux — 255 байт (и кодируем в UTF-8, в Windows — 260 символов (кодированных в UTF-16 (UCS2).
А также Энциклопедия Windows (http://windata.ru/windows-xp/faq-xp/dlina-imeni-fajla/) и масса других источников (до сайта MS просто не добрался). Ну и практика, полностью это подтверждающая.

PS
Не хотел лезть в педивикию — но вроде здесь (https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1 %85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC) информация выверялась. Хотя, как я уже говорил, читаешь в ней статьи по медицине — ну как всё точно и понятно. Читаешь по своей области — ну что за бред несут... Спрашивал врачей — у них то же отношение: "читаешь в ней статьи по технике — ну как всё точно и понятно. Читаешь по своей области — ну что за бред несут...".

PPS
А, вот косвенное с сайта MS (https://blogs.msdn.microsoft.com/b8/2012/01/16/building-the-next-generation-file-system-for-windows-refs/), 2012 год, по поводу длины имён в планировавшейся ReFS:
Maximum file name length
32K 255 unicode characters (for compatibility this was made consistent with NTFS for the RTM product)

Ну а в Win-10 уже можно использовать длину имени до 32К символов без ухищрений типа имени-ресурса (использование префикса \.\\ или \?\\, что работает и в ХР), что приведёт к увеличению количества вопросов, поднятых в теме, даже при обмене между компьютерами Win10<->Win7.

archevod
06-07-2017, 03:06
для проверки, выполните на своём линуксе »
Да, вы правы, где то есть ограничение:
touch: cannot touch '/home/black/Документ, подтверждающий отправку Истцу заказным письмом с уведомлением о вручении копии отзыва и прилагаемых к нему документов, которые у Ответчика отсутствуют 1 л..pdf': File name too long

Jula0071
06-07-2017, 11:35
Да, вы правы, где то есть ограничение: »
Тогда архивируйте бекап перед заливкой на фтп.

Или можно переразбить раздел для бекапов в ту же NTFS, или Reiser4, в общем, в ФС поддержкой имён файлов длиной не менее 255 UTF-8 символов.

ruslandh
12-07-2017, 00:58
Для справки:
http://wiki.etersoft.ru/Linux/VLFN


В Windows для именования файлов принята кодировка UTF-16, то есть каждый символ в названии файла кодируется двумя байтами (16 бит). Максимальная длина имени файла — 255 символов (510 байт). В Linux же для именования файлов принята кодировка UTF-8, при этом максимальная длина файла составляет 255 байт (а не символов).

Так как в UTF-8 для кодирования русских букв используется два байта, то максимальная длина имени файла, состоящего из русских букв, фактически составляет 127 символов. В связи с этим появляется проблема - длинные имена файлов (от 128 до 255 русских символов) не влезают в установленные для них ограничения в Linux.

archevod
16-07-2017, 17:40
Всем спасибо. Отформатировал в ntfs, проблема решена




© OSzone.net 2001-2012