LinuxForum.Fans
Тема

tar русские символы

Автор: w03zd8rc 7 сообщений 4137 просмотров
#165310

скрипт создания копий баз:

text
mount //192.168.1.31/Tune /mnt/1c -t cifs -o iocharset=koi8-r,user=user,pass=pass
cd /mnt/1c/
tar -czpf /var/1c/`date '+%d.%m.%y'`/oa.tar.gz ЗП-СЭ/ 1с/ЗП-СЭ/ 1с/Копия УСН/
cd ~
umount /mnt/1c

mount //192.168.1.17/Базы /mnt/1c -t cifs -o iocharset=koi8-r,user=user,pass=pass cd /mnt/1c/ tar -czpf /var/1c/`date '+%d.%m.%y'`/Raisa.tar.gz БухМенедж/ УСН/ cd ~ umount /mnt/1c

машины с базами на винде. После создания архива кодировка в нем плывет. при попытке поменять через iocharset кодировку выводит
[console]tar: ЗП-СЭ: Невозможно stat: Нет такого файла или каталога
tar: 1с/ЗП-СЭ: Невозможно stat: Нет такого файла или каталога
tar: 1с/Копия: Невозможно stat: Нет такого файла или каталога
tar: УСН: Невозможно stat: Нет такого файла или каталога
tar: Выход, отложенный по результатам предыдущих ошибок
[/console]
в самом таре есть возможность кодировку указать?
или может как сделать?

#165638
w03zd8rc написал:
в самом таре есть возможность кодировку указать?
или может как сделать?

тар сохраняет имя без изменений. если в имени байты 0xe6 0xe6 0xe6, то они сохранятся.
в koi8-r это "ФФФ", а в этой вашей UTF-8 это кракозябры.

Решение:
смонтируйте локальную шару по cifs, и распакуйте туда.

mount //127.0.0.1/Tune /mnt/1c -t cifs -o iocharset=koi8-r,user=user,pass=pass
cd /mnt/1c/
tar -xvvf имя_архива.tar.gz

#166426

[console][root@ 1c]# cp /var/1c/30.05.11/oa.tar.gz /var/www/ftp/1c/
[root@ 1c]# tar -xzvf oa.tar.gz
ЗП-СЭ/
tar: ЗП-СЭ: Невозможно mkdir: Нет такого файла или каталога
ЗП-СЭ/1Cv7.CFG
tar: ЗП-СЭ/1Cv7.CFG: Невозможно open: Нет такого файла или каталога
ЗП-СЭ/1Cv7.DD[/console]
и так дальше по списку файлов

ftp тоже шара смонтированная по cifs, такимже способом как и 1с

#166492

В-общем косяк с кодировкой монтирования был. Помогло сразу распаковывать в смонтированную шару (а не копировать и распаковывать под виндой)
спс всем за помощь

#166527
w03zd8rc написал:
Помогло сразу распаковывать в смонтированную шару (а не копировать и распаковывать под виндой)

дык я это и советовал.

drBatty написал:
Решение:
смонтируйте локальную шару по cifs, и распакуйте туда.

где вы тут видите "скопировать" и "венда"?
я в вообще в венде чайник, в чём и расписываюсь. изучать эту помойку не собираюсь :P

ЗЫЖ а зачем вам вообще KOI8-R?
Сейчас она почти нигде не используется. Почему не UTF-8, или вендовая cp1251?

#166537

drBatty, мне по работе приходится в ней работать, много чего не запустить под линем, а манагеров не переучить (на линуксовые аналоги) =)
а кои8р фиг знает, так как-то сначала получилось, и потом оно и поехало, и виндовые шары видит с норм кодировкой под кои8р.

где вы тут видите "скопировать" и "венда"?

я поначалу копировал сам архив в шару виндовую, а там винраром распаковывал.

#166550
w03zd8rc написал:
мне по работе приходится в ней работать, много чего не запустить под линем, а манагеров не переучить (на линуксовые аналоги)

да это понятно. ещё и лень... сам такой :P

w03zd8rc написал:
а кои8р фиг знает, так как-то сначала получилось, и потом оно и поехало

просто перевод koi8-r<->windows вообще говоря не всегда возможен(если я не ошибаюсь). С другой стороны, может и хорошо, в силу того, что венда умеет делать файлы в ~250 русских букв (имена), и в Linux они копируются, но только в KOI8-R. А вот если перевести в UTF-8, то имя в 200 русских букв займёт 400 байт. А допустимо всего 255.

Войдите или зарегистрируйтесь, чтобы ответить.