skeletor Опубликовано 22 января, 2013 · Жалоба Есть NAS, подключённый к серверу, на котором храняться рабочие папки юзеров. С помощью сервера делается бэкап (tar+bzip2) папок. Юзеры все виндовые. Пока всё нормально (если нужно достать из бэкапа что-то, распаковываем на сервере и ложим в нужную папку), но юзерам почему-то понадобилось очень часто распаковывать архивы и доставать файлы из бэкапа. Было выдвинуто быстрое решение - положить эту задачу на самих юзеров. Как итог, юзер себе качает архив бэкапа и начинает распаковывать. Имена файлов естественно битые, так как кодировки не совпадают. Пробовал использовать 7zip(ругается на параметр -scs через который можно указать кодирова - перепробовал 100500 разных вариантов использования параметра) rar (только в Windows-версии можно задать кодировку) Пока есть 2 варианта решения: 1) искать возможность при архивации конвертировать имена файлов в CP1251 2) менять кодировку на самом NAS'e (там урезанный линукс, доступ есть) 3) как-то налету используя convmv отдавать tar'y уже имена файлов (но думаю это нереально) в CP1251 Пока склоняюсь к п1, но если ничего не найду - придёться разбираться в п2. Может у кого-то есть какие-то идеи по этому поводу? Или может есть ещё варианты решить эту задачу? ОС FreeBSD 8.2, locale - UTF8 (спецом, что бы нормально виделись имена файлов через сервер) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 22 января, 2013 · Жалоба 7z пишет кодировку, поэтому потом на винде распаковывается без проблем. В вашем случае скорее всего бэкап запускается из крона, а там совсем другое переменное окружение. Поставьте в кроне /usr/bin/env >/tmp/log.env и посмотрите чем отличается от "обычного" env Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skeletor Опубликовано 22 января, 2013 · Жалоба Запускаю из консоли, где кодировка UTF-8 (locale LC_ALL = UTF-8) У меня 7z ругается на неправильный параметр, когда я пробую указать кодировку. Пробовал по разному: 7z a a.7z @file.list -scsWIN 7z a -scsWIN a.7z @file.list всё равно ругается на неправильный параметр. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snark Опубликовано 24 января, 2013 · Жалоба `convmv -f/-t | tar/bzip/7z` (п.3), ну или `find blah | iconv -f/-t | tar/bzip/7z` не? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skeletor Опубликовано 24 января, 2013 · Жалоба Может и оно, буду пробовать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...