Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Téma založeno: vollponi 26 Listopadu 2022, 10:11:51

Název: rsync
Přispěvatel: vollponi 26 Listopadu 2022, 10:11:51
Dobry den!
Chtel bych se zeptat, jaky pouzit rsync prikaz, kdyz chci synchronizovat mezi 2 HDD na jednom pocitaci.

Pouzil jsem tohle:
rsync -av Documents/Original/File.ods media/ludek/c2bab679-328d-48fa-8848-a66bf6220201/Backup

Vypise se chyba, ze slozka Backup neexistuje (pred cestu se totiz jeste automaticky pridava /home/ludek/ viz chybova hlaska:
rsync: change_dir#3 "/home/ludek//media/ludek/c2bab679-328d-48fa-8848-a66bf6220201" failed: No such file or directory (2)

Cesta v prikazu je ale dle mne spravne, viz printscreen.

Dekuji za rady.
Název: Re:rsync
Přispěvatel: ramael 26 Listopadu 2022, 10:18:15
Chybí ti lomítko před media.
rsync -av Documents/Original/File.ods /media/ludek/c2bab679-328d-48fa-8848-a66bf6220201/Backup
Název: Re:rsync
Přispěvatel: vollponi 26 Listopadu 2022, 10:36:16
Chybí ti lomítko před media.
rsync -av Documents/Original/File.ods /media/ludek/c2bab679-328d-48fa-8848-a66bf6220201/Backup

Bohuzel stale to nenajde:

Název: Re:rsync
Přispěvatel: ramael 26 Listopadu 2022, 10:39:37
Já jsem teď na mobilu, takže testem nepomohu. Viděl jsem chybu. Myslím že zdrojovou adresu bys měl také přepsat. V terminálu hodně a u adres obzvlášť pomůže doplňování klávesou TAB.
Název: Re:rsync
Přispěvatel: Ventero 26 Listopadu 2022, 10:45:30
Také si myslím, že i tam musí být lomítko na začátku.
Název: Re:rsync
Přispěvatel: ramael 26 Listopadu 2022, 10:50:52
Také si myslím, že i tam musí být lomítko na začátku.
To určitě ne. Spíš bych tam napsal absolutní adresu: /home/ludek/ atd. Počáteční lomítko je hlavní root adresář. Tam začínají absolutní adresy, zjednofušeně řečeno. A v rootu určitě není Documents
Název: Re:rsync
Přispěvatel: vollponi 26 Listopadu 2022, 10:55:31
Také si myslím, že i tam musí být lomítko na začátku.

Funguje to bez lomitek, pokud synchronizuju na jednom disku tak to funguje:

rsync -av Documents/Original/File.ods Documents/Backup/

Problem je, ze se nemuzu dostat na ten druhy disk (resp nevim jak tam napsat cestu)
Název: Re:rsync
Přispěvatel: ramael 26 Listopadu 2022, 11:01:38
Také si myslím, že i tam musí být lomítko na začátku.

Funguje to bez lomitek, pokud synchronizuju na jednom disku tak to funguje:

rsync -av Documents/Original/File.ods Documents/Backup/

Problem je, ze se nemuzu dostat na ten druhy disk (resp nevim jak tam napsat cestu)
To funguje jen pokud jsi v domovskem adresari. Proto jsem navrhl absolutni cesty. Ty fungujou stejne at se nachazis kde se nachazis.
Název: Re:rsync
Přispěvatel: ramael 26 Listopadu 2022, 11:42:01
Tak jsem doběhl k PC. Koukám, že v domovském adresáři jsi byl (na mobilu to nebylo vidět). Normálně to funguje jak jsem psal. Napiš
Kód: [Vybrat]
rsync -av
pak dej mezeru, pak velké D, pak klepni na tabulátor a postupně se takhle proťukáš až k souboru co chceš kopírovat. Pak opět mezera, lomítko, m, a opět s tabulátorem až k vytoužené složce. Pak jen klávesa enter a je to. Test u mne:
Kód: [Vybrat]
radek@radek-ubuntu:~$ rsync -av .config/pulse/cookie  /media/radek/data/klavesnice
sending incremental file list
cookie

sent 363 bytes  received 35 bytes  796.00 bytes/sec
total size is 256  speedup is 0.64
Anebo pomocí absolutních adres a je jedno kde momentálně jsem:
Kód: [Vybrat]
radek@radek-ubuntu:~$ cd Dokumenty/
radek@radek-ubuntu:~/Dokumenty$ pwd
/home/radek/Dokumenty
radek@radek-ubuntu:~/Dokumenty$ rsync -av /home/radek/.config/pulse/cookie   /media/radek/data/klavesnice
sending incremental file list

sent 60 bytes  received 12 bytes  144.00 bytes/sec
total size is 256  speedup is 3.56
EDIT:
A takhle to vypadá bez lomítka:
Kód: [Vybrat]
radek@radek-ubuntu:~$ rsync -av .config/pulse/cookie  media/radek/data/klavesnice
sending incremental file list
rsync: [Receiver] change_dir#3 "/home/radek/media/radek/data" failed: No such file or directory (2)
rsync error: errors selecting input/output files, dirs (code 3) at main.c(825) [Receiver=3.2.3]
Název: Re:rsync
Přispěvatel: juwa2 26 Listopadu 2022, 19:42:36
K rsync existuje pěkné GUI zvané Grsync kde si méně zdatní uživatelé (zejména ti kteří mají problém se zadáváním cest)  :) mohou vše pohodlně "naklikat".
Pak budou dotazy tohoto typu zcela zbytečné...
Grsync je v repozitáři Universe který je potřeba si ve zdrojích SW "zapnout". Pak už stačí standardní
Kód: [Vybrat]
sudo apt-get install grsync
rsync synchronizuje složky (či obsahy složek) - nelze zadávat soubory
Význam lomítek na konci cest vysvětluje "modrý otazník" v grsync
Jinak samozř. man rsync (https://linux.die.net/man/1/rsync)
Název: Re:rsync
Přispěvatel: vollponi 26 Listopadu 2022, 19:46:36
Dekuji vsem, uz to funguje.
Název: Re:rsync
Přispěvatel: vollponi 27 Listopadu 2022, 09:01:41
Nechci zakladat nove vlakno, mel bych jeste jeden dotaz.

Jde nejak zabezpecit aby se synchronizoval i svazek VeraCrpytu?

Co jsem ted zkousel, tak pokud udelam v nejakem souboru co je ve svazku zmenu, tak se svazek nesesynchronizuje.

Diky.

Název: Re:rsync
Přispěvatel: juwa2 27 Listopadu 2022, 16:37:23
Nechci zakladat nove vlakno, mel bych jeste jeden dotaz.

Jde nejak zabezpecit aby se synchronizoval i svazek VeraCrpytu?

Co jsem ted zkousel, tak pokud udelam v nejakem souboru co je ve svazku zmenu, tak se svazek nesesynchronizuje.

Diky.

Ten svazek je šifrovaný - z tohoto důvodu ty změny v něm z vnějšku viditelné nejsou/být nemůžou.
Místo svazku si udělej kontejner (veracryptu) což je soubor *.hc (můžeš ho mít kdekoli). Jeho obsah je taky šifrovaný, nicméně navenek je to soubor jako každý jiný. Tím pádem jeho změny (verze) lze synchronizovat kamkoli (lokálně nebo dropbox, googledrive, onedrive, mega...).  :)
Samozřejmě, k synchronizaci může dojít nejdříve až po "odpojení" kontejneru, tj. až se z diskové jednotky opět stane soubor (nyní změněný) *.hc
Doufám, že jsem to napsal dostatečně polopaticky/blbuvzdorně... ;)

TIP: K synchronizaci lze využít výbornou zálohovací aplikaci BackInTime (https://backintime.readthedocs.io/en/latest/) která rovněž využívá rsync vč. výhod přírůstkového zálohování (hardlinky).
PPA pro instalaci (https://launchpad.net/~bit-team/+archive/ubuntu/stable)
Název: Re:rsync
Přispěvatel: ramael 27 Listopadu 2022, 17:44:05
K rsync existuje pěkné GUI zvané Grsync kde si méně zdatní uživatelé (zejména ti kteří mají problém se zadáváním cest)  :) mohou vše pohodlně "naklikat".
Pak budou dotazy tohoto typu zcela zbytečné...
Grsync je v repozitáři Universe který je potřeba si ve zdrojích SW "zapnout". Pak už stačí standardní
Kód: [Vybrat]
sudo apt-get install grsync
rsync synchronizuje složky (či obsahy složek) - nelze zadávat soubory
Význam lomítek na konci cest vysvětluje "modrý otazník" v grsync
Jinak samozř. man rsync (https://linux.die.net/man/1/rsync)
Té červeně zvýrazněné poznámce moc nerozumím. Asi jsi to špatně napsal. Nelze kopírovat mezi dvěma vzdálenými hosty, asi mělo být. Test:
Vytvořil jsem dvě složky test-rsync-1 a test-rsync-2. Do první složky jsem uložil tři soubory. Z toho dva jsou skryté.
Kód: [Vybrat]
Výpis obsahu složek:
$ ls -a test-rsync-1
.  ..  conk.conf  .conkyrc  .conkyrc-lua
Druhá složka je prázdná:
$ ls -a test-rsync-2
.  ..

Kopírování jen souborů s příponou conf:
$ rsync -av ./test-rsync-1/*.conf ./test-rsync-2
sending incremental file list
conk.conf

sent 4,201 bytes  received 35 bytes  8,472.00 bytes/sec
total size is 4,096  speedup is 0.97

výpis složky:
$ ls -a test-rsync-2
.  ..  conk.conf

Vymazání obsahu složky:
$ rm -r test-rsync-2/{.,}* 2&>/dev/null

Teď je opět prázdná:
$ ls -a test-rsync-2
.  ..

Kopírování komplet obsahu složky:
$ rsync -av ./test-rsync-1/. ./test-rsync-2
sending incremental file list
./
.conkyrc
.conkyrc-lua
conk.conf

sent 11,057 bytes  received 76 bytes  22,266.00 bytes/sec
total size is 10,809  speedup is 0.97

Cílová složka obsahuje vše co zdrojová:
$ ls -a test-rsync-2
.  ..  conk.conf  .conkyrc  .conkyrc-lua

Výmaz:
$ rm -r test-rsync-2/{.,}* 2&>/dev/null

Opět prázdná:
$ ls -a test-rsync-2
.  ..

Kopírování zdrojové složky do cílové. Tzn, že se v cílové vytvoří složka s názvem zdrojové a ta bude obsahovat své všechny soubory:
$ rsync -av ./test-rsync-1 ./test-rsync-2
sending incremental file list
test-rsync-1/
test-rsync-1/.conkyrc
test-rsync-1/.conkyrc-lua
test-rsync-1/conk.conf

sent 11,081 bytes  received 77 bytes  22,316.00 bytes/sec
total size is 10,809  speedup is 0.97

V cílové složce  je vytvořená nová s názvem zdrojové
$ ls -a test-rsync-2
.  ..  test-rsync-1

A ta obsahuje soubory:
$ ls -a test-rsync-2/test-rsync-1/
.  ..  conk.conf  .conkyrc  .conkyrc-lua
Jinak řečeno bez udání lomítka na konci zdroje je s tím pracováno jako se souborem a je včetně svého obsahu nakopírován. Každý soubor má své inode. A v tomto případě je inode složky. A tak je s ní pracováno stejně. Je nakopírována i s obsahem. Lidsky řečeno je vytvořena nová složka stejného názvu a její obsah je také zkopírován.
Pakliže se na konci zdroje uvede lomítko, je pracováno jen s inode childers. Lidsky řečeno jen s obsahem složky.
Jak je na mém příkladu vidno, použil jsem při kopírování jen obsahu za lomítkem ještě tečku:
$ rsync -av ./test-rsync-1/. ./test-rsync-2
Což doporučuji kvůli kompatibilitě s příkazy cp a spol. Kde tečka znamená aktuální adresář. To jest vše včetně skrytých souborů.
Test:
Kód: [Vybrat]
Příkazu cp je jedno jestli má zdroj na konci lomítko nebo ne. Vždy vyžaduje přepínač -r:
$ cp -r test-rsync-1 test-rsync-2

Obsah cílové složky:
$ ls -a test-rsync-2
.  ..  test-rsync-1

Má vše co tam má být
$ ls -a test-rsync-2/test-rsync-1/
.  ..  conk.conf  .conkyrc  .conkyrc-lua

Výmaz:
$ rm -r test-rsync-2/{.,}* 2&>/dev/null

Je prázdná:
$ ls -a test-rsync-2
.  ..

Kopírování jen obsahu zdrojové složky, avšak kompletního:
$ cp -r test-rsync-1/. test-rsync-2

Výpis:
$ ls -a test-rsync-2
.  ..  conk.conf  .conkyrc  .conkyrc-lua

Výmaz:
$ rm -r test-rsync-2/{.,}* 2&>/dev/null

a kontrola:
$ ls -a test-rsync-2
.  ..

Kopírování obsahu zdrojové složky, avšak jen obyčejné soubory:
$ cp -r test-rsync-1/* test-rsync-2

No jo, je to tak:
$ ls -a test-rsync-2
.  ..  conk.conf
Proto doporučuji si to zautomatizovat lomítkem a tečkou.
Název: Re:rsync
Přispěvatel: vollponi 28 Listopadu 2022, 10:54:35
Nechci zakladat nove vlakno, mel bych jeste jeden dotaz.

Jde nejak zabezpecit aby se synchronizoval i svazek VeraCrpytu?

Co jsem ted zkousel, tak pokud udelam v nejakem souboru co je ve svazku zmenu, tak se svazek nesesynchronizuje.

Diky.

Ten svazek je šifrovaný - z tohoto důvodu ty změny v něm z vnějšku viditelné nejsou/být nemůžou.
Místo svazku si udělej kontejner (veracryptu) což je soubor *.hc (můžeš ho mít kdekoli). Jeho obsah je taky šifrovaný, nicméně navenek je to soubor jako každý jiný. Tím pádem jeho změny (verze) lze synchronizovat kamkoli (lokálně nebo dropbox, googledrive, onedrive, mega...).  :)
Samozřejmě, k synchronizaci může dojít nejdříve až po "odpojení" kontejneru, tj. až se z diskové jednotky opět stane soubor (nyní změněný) *.hc
Doufám, že jsem to napsal dostatečně polopaticky/blbuvzdorně... ;)

TIP: K synchronizaci lze využít výbornou zálohovací aplikaci BackInTime (https://backintime.readthedocs.io/en/latest/) která rovněž využívá rsync vč. výhod přírůstkového zálohování (hardlinky).
PPA pro instalaci (https://launchpad.net/~bit-team/+archive/ubuntu/stable)

Dekuji, vysvetleno dostatecne blbuvzdorne, nicmene mi to nefunguje.

I po tom co jsem vytvoril  kontejner *hc tak se mi to nesynchronizuje, samozrejme jsem kontejner odpojil. Kdyby byl nahodou jeste nejaky jiny napad, tak diky za nej.
Název: Re:rsync
Přispěvatel: vollponi 28 Listopadu 2022, 13:02:55
takze lze to nastavit v nastaveni Veracryptu:

https://www.ionos.com/help/hidrive/hidrive-encryption/synchronizing-veracrypt-container-files/
Název: Re:rsync
Přispěvatel: juwa2 28 Listopadu 2022, 18:57:37
takze lze to nastavit v nastaveni Veracryptu:

https://www.ionos.com/help/hidrive/hidrive-encryption/synchronizing-veracrypt-container-files/

No vida, to je nějaká specialita. A jen pánbůh ví, proč není to verzování souboru *.hc aktivní by default....
Mám dojem, že v truecryptu tomu tak bylo....