skeletor Posted January 22, 2013 Posted January 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 (спецом, что бы нормально виделись имена файлов через сервер) Вставить ник Quote
s.lobanov Posted January 22, 2013 Posted January 22, 2013 7z пишет кодировку, поэтому потом на винде распаковывается без проблем. В вашем случае скорее всего бэкап запускается из крона, а там совсем другое переменное окружение. Поставьте в кроне /usr/bin/env >/tmp/log.env и посмотрите чем отличается от "обычного" env Вставить ник Quote
skeletor Posted January 22, 2013 Author Posted January 22, 2013 Запускаю из консоли, где кодировка UTF-8 (locale LC_ALL = UTF-8) У меня 7z ругается на неправильный параметр, когда я пробую указать кодировку. Пробовал по разному: 7z a a.7z @file.list -scsWIN 7z a -scsWIN a.7z @file.list всё равно ругается на неправильный параметр. Вставить ник Quote
snark Posted January 24, 2013 Posted January 24, 2013 `convmv -f/-t | tar/bzip/7z` (п.3), ну или `find blah | iconv -f/-t | tar/bzip/7z` не? Вставить ник Quote
skeletor Posted January 24, 2013 Author Posted January 24, 2013 Может и оно, буду пробовать. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.