Автор Тема: rsync не трие от папки на кирилица  (Прочетена 7041 пъти)

silfox2000

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Здравейте,
Странен проблем забелязах с Mint 19.3. rsync не иска да трие файлове от папки с имена на кирилица. Копира новите файлове, но не трие с --delete. От другите папки трие. Пробвах да задам разни параметри за енкодинга с --iconv, но никакъв ефект. Някакви идеи?
Активен

jet

  • Напреднали
  • *****
  • Публикации: 2041
  • Distribution: debian sid
  • Window Manager: kde
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #1 -: Feb 05, 2020, 04:35 »
Я покажи командата в целия и блясък.
Активен

Linux: From WTF to OMG

remotexx

  • Напреднали
  • *****
  • Публикации: 1010
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #2 -: Feb 05, 2020, 05:44 »
Я че ми стана интересно, а като пуснеш diff дали ги намира/мачва правилно?

По принцип такова нещо се получава при разминаване в кодировка, сравни ли двата локала, локалния и отдалечения. Има и необратими преобразувания, напр. Знакът Ом и гръцкото омега имат подобно изобразяване но различен уникод код и при обръщане в някоя по рестриктивна кодова таблица напр. Гръцка /не й помня номера/ и двете стават омега и после посмъртно омегата не може да стане ом щото тая информация е вече загубена. То дори и уникод към уникод конверсия пак може да се получи същото напр. при конверсия към BMP (base multi lingual plane) Ohm пак става на Omega и след конвертора вече не може да се каже откъде е дошъл, и конверсията е необратима...

Извън това, да не би случайно rsync командата да ти е част от Шел скрипт? Имах предвид че тогава некой спец символи се експандват от шела, като напр. *, вече няма да е * ами ще се замени с имената на всички файлове в директора разпечатани през текущия локал.

Напр. долното ще се експандват от шела, за да не се, се изпуска звездата
Код
GeSHi (Bash):
  1. rsync -a --delete $DIR1/* $DIR2

Също и това го има...  провери дали изобщо ги има в дестинацията
Files that are excluded from the transfer are also excluded from being deleted unless you use the --delete-excluded option or mark the rules as only matching on the sending side (see the include/exclude modifiers in the FILTER RULES section).

И последно провери им правата на тия файлове, да не да нямаш права да триеш там, пробвай да изтриеш един два ръчно, през шела, то през mc ясно че ще стане  :P
« Последна редакция: Feb 05, 2020, 06:07 от remotexx »
Активен

silfox2000

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #3 -: Feb 05, 2020, 08:22 »
Не става дума за отдалечен компютър, а за външен диск, така, че локала си е същия.
Командата е
Код:
rsync -av --delete /folder1/директория на кирилица/ /folder2/директория на кирилица/
Интересното е, че винаги съм го ползвал така и не е имало проблем, но сега забелязах, че една папка не трие файловете в дестинацията. Направих няколко теста и установих, че става дума само за папки на кирилица.
По-интересното е, че сега пробвах в домашната директория тази постановка и си работи отлично. В шах съм.
« Последна редакция: Feb 05, 2020, 08:27 от silfox2000 »
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 2806
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #4 -: Feb 05, 2020, 11:29 »
/folder1/директория на кирилица/

Това не трябва ли да е в двойни кавички? или поне да се ескейпват паузите.
/folder1/директория\ на\ кирилица/

Цитат
If  you  need  to  transfer  a filename that contains whitespace, you can either specify the --protect-args (-s) option, or you’ll need to escape the whitespace in a way that the remote shell will understand.  For instance:

rsync -av host:'file\ name\ with\ spaces' /dest
Активен

Perl - the only language that looks the same before and after encryption.

silfox2000

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #5 -: Feb 05, 2020, 15:02 »
То е така, но това го дадох като пример. Реално се синхронизират /home/user/Documents/ и /media/user/usbdrive/Documents/
а папките на кирилица се намират в тях. Както казах, всичко работи нормално, освен за тези, които са на кирилица - при тях се копират новите файлове, но не се трият тези, дето ги няма в сорса.
Активен

remotexx

  • Напреднали
  • *****
  • Публикации: 1010
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #6 -: Feb 05, 2020, 16:32 »
ами виж им правата... да не би да си ги отварял (като друг потребител) с нещо и после там или ръчен или ауто сейв да им е попрпменил правата. Виж още и разширението, да не да са нещо темп файлове със същото имено *.part

Дава ли ти грешка при изпълнението на командата ако дава е от права вероятно, ако не дава, по някаква причина смята че тези не трябва да се синхронизират...

Files that are excluded from the transfer are also excluded from being deleted unless you use the --delete-excluded option or mark the rules as only matching on the sending side (see the include/exclude modifiers in the FILTER RULES section).
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 2806
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #7 -: Feb 05, 2020, 19:11 »
Сложи LC_CTYPE
На някое от тези утф8 локалета и опитай.
bg_BG.utf8
C.UTF-8
en_US.utf8

Когато някоя програма има проблеми с кирилицата (не става въпрос за интерфейса) обикновенно нещата се оправят след

export LC_CTYPE=.........
« Последна редакция: Feb 05, 2020, 19:14 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

aleximilian

  • Напреднали
  • *****
  • Публикации: 60
  • Distribution: Debian
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #8 -: Feb 05, 2020, 20:11 »
@ silfox2000, нещо не е както трябва.
Освен както колегата споменава за кодировката, може да пробваш с нещо друго. Например с borg имаше и още едно добро, като се сетя ще го допълня.

Въпреки, че при мен с различна кодировка се трият файлове на кирилица.
Активен

silfox2000

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #9 -: Feb 05, 2020, 20:27 »
Нямат проблем с правата - аз съм си собственик, трия си ги нормално и за всеки случай приложих права за цялата папка и това, което е в нея. Грешка не дава никаква, иначе да съм го хванал веднага. Отделно теста в домашната директория мина, т.е. и копира и трие в директрия на кирилица, а и се появи наскоро - не знам точно кога, че го хванах по наличието на стари файлове в бекъпа, но преди си работеше отлично. За капак се случва и на домашния и на служебния компютър - и двата с Минт 19.3. Както казах - в шах съм.
Не си спомням rsync да се е ъпдейтвал, а и гледам, че последната версия е от 2018, та явно е от нещо друго.
Активен

silfox2000

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #10 -: Feb 05, 2020, 20:35 »
Я че ми стана интересно, а като пуснеш diff дали ги намира/мачва правилно?
...
И последно провери им правата на тия файлове, да не да нямаш права да триеш там, пробвай да изтриеш един два ръчно, през шела, то през mc ясно че ще стане  :P

Код:
diff workshop.docx Възлагателен\ фиш.docx
Binary files workshop.docx and Възлагателен фиш.docx differ

rm Възлагателен\ фиш.docx
rm Възлагателен\ фиш.docx
rm: cannot remove 'Възлагателен фиш.docx': No such file or directory

Ми... шах :)
Активен

malin1

  • Напреднали
  • *****
  • Публикации: 202
  • Distribution: Debian
  • Window Manager: LXDE
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #11 -: Feb 05, 2020, 22:51 »
Възлагателен фиш.docx  са 2 документа и те не съществуват, въпреки че същества нещо като "Възлагателен фиш.docx" , казаха ти го вече. И ти трябва да решиш как да промениш имената на документите си разумно.
Активен

makeme

  • Напреднали
  • *****
  • Публикации: 882
  • Distribution: Many
  • Window Manager: KDE
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #12 -: Feb 06, 2020, 02:27 »
Виж номера на инода и пробвай така да го изтриеш:

Код
GeSHi (Bash):
  1. ls -i

За триене:

Код
GeSHi (Bash):
  1. find . -inum ##### -exec rm -i {} \;

Ако го изтрие значи колегите са прави за енкодинга, ако не, може и нещо харда да има проблема.

Другото за което се сещам е да видиш атрибутите: lsattr
Активен

Distributions:  UbuntuMate; Kubuntu; CentOS; Kali; Raspberry Pi OS ...

jet

  • Напреднали
  • *****
  • Публикации: 2041
  • Distribution: debian sid
  • Window Manager: kde
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #13 -: Feb 06, 2020, 02:48 »
Ловя се на бас, че файловата система ма външния диск е Майрософтска:
как си я монтирал.
Активен

Linux: From WTF to OMG

Naka

  • Напреднали
  • *****
  • Публикации: 2806
    • Профил
Re: rsync не трие от папки на кирилица
« Отговор #14 -: Feb 06, 2020, 11:18 »
И аз това си мисля. След като на локалното работи без проблеми, а на външният диск има проблеми единствената разлика може да е различни файлови системи и разлика в монтирането.

Той казва, че не е разбрал какво се е променило. Може в един момент след ъпдейт,  линукса да е почнал да монтира външният диск по малко по различен начин.

Виж опциите за монтиране на vfat и ntfs, там имаше някави опции кодировката i utf8.
« Последна редакция: Feb 06, 2020, 11:20 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
rsync
Настройка на програми
zmei 3 1485 Последна публикация Mar 02, 2005, 11:10
от rpetrov
Rsync и кирилски имена на файловете
Хардуерни и софтуерни проблеми
morbid_viper 3 2042 Последна публикация Sep 10, 2009, 13:02
от mx
Грешка с rsync
Хардуерни и софтуерни проблеми
chatter 1 1408 Последна публикация Dec 22, 2007, 20:50
от chatter
rsync главоблъсканица ...
Настройка на програми
sash 2 1210 Последна публикация Jan 29, 2012, 00:39
от sash
rsync въпрос
Настройка на програми
amarth 1 742 Последна публикация Feb 25, 2013, 17:27
от Georgy