#! /bin/sh
DUMPDIR="/usr/home/ergo/"
DUMPFILE="/mnt/ann/_server/%sdir%-%Y-%m-%d-%H"for dir in ${DUMPDIR}
do
SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
cd ${dir}/..
$(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
done
>
>#! /bin/sh
>DUMPDIR="/usr/home/ergo/"
>DUMPFILE="/mnt/ann/_server/%sdir%-%Y-%m-%d-%H"
>
>for dir in ${DUMPDIR}
>do
> SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
> cd ${dir}/..
> $(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
>donetar'у фиолетово какие буквы: русские, немецкие или вовсе иероглифы
>>
>>#! /bin/sh
>>DUMPDIR="/usr/home/ergo/"
>>DUMPFILE="/mnt/ann/_server/%sdir%-%Y-%m-%d-%H"
>>
>>for dir in ${DUMPDIR}
>>do
>> SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
>> cd ${dir}/..
>> $(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
>>done
>
>tar'у фиолетово какие буквы: русские, немецкие или вовсе иероглифы
окей, как сделать так чтоб при распаковывании в винде в архиве были нормальные имена файлов?
>>>
>>>#! /bin/sh
>>>DUMPDIR="/usr/home/ergo/"
>>>DUMPFILE="/mnt/ann/_server/%sdir%-%Y-%m-%d-%H"
>>>
>>>for dir in ${DUMPDIR}
>>>do
>>> SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
>>> cd ${dir}/..
>>> $(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
>>>done
>>
>>tar'у фиолетово какие буквы: русские, немецкие или вовсе иероглифы
>
>
>окей, как сделать так чтоб при распаковывании в винде в архиве были
>нормальные имена файлов?дык они нормальные, сам tar ну нифигушеньки с ними не делает :)
Могу лишь предположить что вы не понимаете и не представляете вашей проблемы, а они
видимо в том что на сервере ОДНО локале, а у клиента другое, вот отсюда и растут ноги
вашей "проблемы", как только вы это поймете - у вас ФСЕ плучится!
>>>>
>>>>#! /bin/sh
>>>>DUMPDIR="/usr/home/ergo/"
>>>>DUMPFILE="/mnt/ann/_server/%sdir%-%Y-%m-%d-%H"
>>>>
>>>>for dir in ${DUMPDIR}
>>>>do
>>>> SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
>>>> cd ${dir}/..
>>>> $(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
>>>>done
>>>
>>>tar'у фиолетово какие буквы: русские, немецкие или вовсе иероглифы
>>
>>
>>окей, как сделать так чтоб при распаковывании в винде в архиве были
>>нормальные имена файлов?
>
>дык они нормальные, сам tar ну нифигушеньки с ними не делает :)
>
>
>Могу лишь предположить что вы не понимаете и не представляете вашей проблемы,
>а они
>видимо в том что на сервере ОДНО локале, а у клиента другое,
>вот отсюда и растут ноги
>вашей "проблемы", как только вы это поймете - у вас ФСЕ плучится!
>
проблема по видимому в том что эти имена фрями нормально читаются а при распаковывании в винде не очень красиво...
задача в том чтобы запаковать так чтоб под виндами их можно было распаковать и увидеть нормальные имена.
есть вариант монтировать смб раздел и с него архивировать... но производительность падает при этом с грохотом
>проблема по видимому в том что эти имена фрями нормально читаются а
>при распаковывании в винде не очень красиво...
>задача в том чтобы запаковать так чтоб под виндами их можно было
>распаковать и увидеть нормальные имена.
>есть вариант монтировать смб раздел и с него архивировать... но производительность падает
>при этом с грохотомВам же объяснили, что локаль разная: во фри - koi8-r, в винде - cp1251.
>>проблема по видимому в том что эти имена фрями нормально читаются а
>>при распаковывании в винде не очень красиво...
>>задача в том чтобы запаковать так чтоб под виндами их можно было
>>распаковать и увидеть нормальные имена.
>>есть вариант монтировать смб раздел и с него архивировать... но производительность падает
>>при этом с грохотом
>
>Вам же объяснили, что локаль разная: во фри - koi8-r, в винде
>- cp1251.
я это отлично понимаю но я не знаю как можно решить мою задачу... ведь её можно как то решить?
>>>проблема по видимому в том что эти имена фрями нормально читаются а
>>>при распаковывании в винде не очень красиво...
>>>задача в том чтобы запаковать так чтоб под виндами их можно было
>>>распаковать и увидеть нормальные имена.
>>>есть вариант монтировать смб раздел и с него архивировать... но производительность падает
>>>при этом с грохотом
>>
>>Вам же объяснили, что локаль разная: во фри - koi8-r, в винде
>>- cp1251.
>
>
>я это отлично понимаю но я не знаю как можно решить мою
>задачу... ведь её можно как то решить?ну вот, все гораздо лучше - вы понимаете в чем дело, остальное дело техники:
- попробовать tar без locale KOI8-R (ну там с C или en_US или)
- попробовать tar c locale CP1251причем попробовать прям в скрипте выставлять locale
Да, забыл, прежде всего нужно определиться а в КАКОЙ КОДИРОВКЕ у вас dirname и filename,
если в KOI8-R, ну тады вам нужно перекодировать - как, это уже другой вопрос, да хоть
к примеру вставить перекодировку прямо в sources tar и пересобрать его, типа:tar --recode koi8-r:cp1251 other_options
кстати, плевое дело, ну вобщем есть варианты
Итого:
- определить ГДЕ ФИЗФИЧЕСКИ находятся "русские" файлы/директории
- в какой КОДИРОВКЕ
- в какой кодировке на сервере, на клиенте (через ЧТО и КАК отдаются)собственно ВСЕ.
>
>#! /bin/sh
>DUMPDIR="/usr/home/ergo/"
>DUMPFILE="/mnt/ann/_server/%sdir%-%Y-%m-%d-%H"
>
>for dir in ${DUMPDIR}
>do
> SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
> cd ${dir}/..
> $(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
>done#! /bin/sh
mount_smbfs -E cp1251:CP866 -N //server/ergo/ /mnt/ergo
DUMPDIR="/mnt/ergo"
DUMPFILE="/mnt/ann/_server/%sdir%-%Y-%m-%d-%H"for dir in ${DUMPDIR}
do
SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
cd ${dir}/..
$(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
done
umount /mnt/workтак вот всё пашет, но медлено... может есть какаято другая возможность делать русовиндовые архивы?
>[оверквотинг удален]
>for dir in ${DUMPDIR}
>do
> SHORTDIR=$(echo ${dir} | awk -F/ '{ print $NF }')
> cd ${dir}/..
> $(tar cf - ${SHORTDIR} > $(date +"$(echo ${DUMPFILE} | sed -e s/%sdir%/${SHORTDIR}/g)").tar.bz2)
>done
>umount /mnt/work
>
>так вот всё пашет, но медлено... может есть какаято другая возможность делать
>русовиндовые архивы?Использовать p7zip
Помогите решить проблему.
Есть архив - 20 терабайт(был 1 терабайт в tar.7z)-после разархивирования стал такой большой.В нем около миллиона HTML(это копия рувики в HTML формате без php).
Как мне в Windows его распаковать с русскими именами файлов и субдиректорий?
WinRAR и 7Zip выдают неправильную кодировку.