Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Téma založeno: 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.
-
Chybí ti lomítko před media.
rsync -av Documents/Original/File.ods /media/ludek/c2bab679-328d-48fa-8848-a66bf6220201/Backup
-
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:
-
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.
-
Také si myslím, že i tam musí být lomítko na začátku.
-
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
-
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)
-
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.
-
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š
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:
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:
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:
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]
-
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í
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)
-
Dekuji vsem, uz to funguje.
-
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.
-
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)
-
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í
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é.
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:
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.
-
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.
-
takze lze to nastavit v nastaveni Veracryptu:
https://www.ionos.com/help/hidrive/hidrive-encryption/synchronizing-veracrypt-container-files/
-
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....