Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: syntaxe TAR pro kopírování server - server - VYŘEŠENO  (Přečteno 1629 krát)

rhr

  • Návštěvník
  • Příspěvků: 12
syntaxe TAR pro kopírování server - server - VYŘEŠENO
« kdy: 12 Června 2013, 10:27:55 »
Dobrý den,
chci poprosit o pomoc se správnou syntaxí (asi poznáte, že jsem nováček :-)

Jsem přihlášený přes ssh na PC1 a chci zkopírovat větší množství dat přes ssh na PC2 a to tak, aby se vzalo vše z /home/userXY na PC1 a objevilo se to v /home/userXY na PC2.
Domovské adresáře na PC2 jsou již vytvořené.

pomocí syntaxe
tar cf - /home/userXY | ssh root@xx.yy.zz.ss "cd /home/userXY && cat - | tar x"

se do cílového domečku znovu vnoří /home/userXY. Je to možná banalita, ale nevím jak to správně napsat, aby se překopíroval pouze OBSAH domovského adresáře.

Celkem se bude jednat možná až o 4TB dat, je možná vhodné to i GZIPovat (?).
Děkuji.
« Poslední změna: 13 Června 2013, 16:57:45 od rhr »

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:syntaxe TAR pro kopírování server - server
« Odpověď #1 kdy: 12 Června 2013, 11:25:10 »
spis takhle:

z klienta na server (jestli zalohujes server na klienta):

Kód: [Vybrat]
ssh $server "tar czv /neco -O" | cat - > /fajl/se/zalohou.tgz
^^ z logiky veci jde o to, aby jsi prenasel co nejmensi data, takze tady se pomoci ssh prilogujes na server a das tgzovat (vc gzip komprese) na serveru pozadovana data a ty potom prenasis uz zabalena
« Poslední změna: 12 Června 2013, 11:28:15 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

rhr

  • Návštěvník
  • Příspěvků: 12
Re:syntaxe TAR pro kopírování server - server
« Odpověď #2 kdy: 12 Června 2013, 11:39:39 »
díky za odpověď, nejde o zálohování ze serveru k sobě ale kopírování mezidvěma servery.

Funkční příkaz jsem teď vyzkoušel tento:
cd /home/roman/ && tar cvf - . | ssh root@... ... ... ... "cd /home/roman && tar xv"

Pokud by na tom bylo co vylepšit, tak se určitě nechám poučit.
Ten parametr -O (standardní výstup ?) z Vašeho příkladu je totéž jako "-" bez O ?

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:syntaxe TAR pro kopírování server - server
« Odpověď #3 kdy: 12 Června 2013, 11:41:39 »
pouzivam -O .. mozna jo .. proste by to mel poustet na dev/stdout :) .. jinak pokud to chces vylepsit tak tam jeste narvit nejakou kompresi .. tar nekomprimuje .. bud tam narvi gzip a nebo bz2 s nejvyssi kompresi .. jinak na kopirovani mezi dvema servery bez komprese (potom ten tar jako takovej postrada smysl) se pouziva scp ;)
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

rhr

  • Návštěvník
  • Příspěvků: 12
Re:syntaxe TAR pro kopírování server - server
« Odpověď #4 kdy: 12 Června 2013, 12:31:08 »
jasně, pošlu to do GZIPu. Když bych chtěl to celé pustit na pozadí, tak úplně na konec ještě "mezera &", je tak ? Ale to pak asi je blbost parametr tar -v (výpis činnosti)

cd /home/roman/ && tar czvf - . | ssh root@... ... ... ... "cd /home/roman && tar xzv" &

Díky za rady  :)

rhr

  • Návštěvník
  • Příspěvků: 12
Re:syntaxe TAR pro kopírování server - server
« Odpověď #5 kdy: 12 Června 2013, 15:59:44 »
ještě nevím, jestli je tam správně ta tečka:  czvf - . | atd. nebo by správně byla hvězdička, ale zdá se že to jede.
I když jak to spustím, tak se mi začne vypisovat co probíhá a začne to pracovat s adresářem dle abecedy někde uprostřed ostatních, tak nevím jakou logiku to používá, pravda je že ten adresář je největší.

V úplně prvním návrhu toho příkazu byl navíc ještě "CAT"
cd /home/roman/ && tar czvf - . | ssh root@... ... ... ... "cd /home/roman && cat - | tar xzv"

mohlo by to mít na něco pozitivní vliv, nebo je jen navíc ?

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:syntaxe TAR pro kopírování server - server
« Odpověď #6 kdy: 12 Června 2013, 18:42:07 »
jestli to jede tak v poho .. jinak me se to nelibi kvuli tem pajpam a mam pocit, ze to nebude fungovat spravne ..

nejak mi tam unika smysl toho cd .. proc, kdyz uz to chces takhle, to neudelas timto zpusobem (tedy bez tech divnosti ala pajpy a &&)..

Kód: [Vybrat]
tar czv /home/nekdo -O | ssh nekam "tar xzvf /dev/stdin -C /nekam"
navic v scp jde zapnout dodatecna komprese, viz manual

Kód: [Vybrat]
# PAGER=cat man scp|grep -i compress
     -C      Compression enable.  Passes the -C flag to ssh(1) to enable com-
                   Compression
                   CompressionLevel
« Poslední změna: 12 Června 2013, 18:51:13 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

rhr

  • Návštěvník
  • Příspěvků: 12
Re:syntaxe TAR pro kopírování server - server
« Odpověď #7 kdy: 12 Června 2013, 22:56:20 »
cd proto, že když to bylo bez něj (viz první příspěvek), tak se /home/nekdo vnořil do /nekam, takže výsledek byl /nekam/home/nekdo/data, resp. konkrétně např. /home/roman/home/roman/data což je špatně.
A jsem fakt začátečník, někde jsem zahlédl, že režie SCP je pro přenos velkých dat mnohem větší, než je zatarovat do jednoho bloku.
to CD a && bylo proto, aby při spuštění příkazu nezáleželo na tom, kde se právě nacházím.

 

Provoz zaštiťuje spolek OpenAlt.