Mi lehet a baj az alábbi paranccsal?:
(ssh kwaigon "cd /home/szucs/yodarol; netcat -l -p 5000 | gzip -cd | tar -xvf -") & (sleep 5; cd "$alapmappa"; tar cf - "$forras" | gzip -c | netcat -n 192.168.0.2 5000)
Elvileg ennek fájlt/mappát kellene másolnia a netcat (+gzip, tar) segítségével két gép között.
Ehhez képest csak kicsi fájlokat képes másolni, mert kb. 100k méretnél a másolás "unexpected end of file" hibaüzenettel elakad (amit a gzip ad).
Ugyanez a helyzet, ha a gzip-et kihagyom a buliból, csak akkor a tar-tól kapom ezt a hibaüzenetet.
- 2543 megtekintés
Hozzászólások
Nem értem miért kell ennyire megbonyolitani!
egyszerűb scp esetleg:
ssh kwaigon "tar -c /home/szucs/yodarol" | tar -x
- A hozzászóláshoz be kell jelentkezni
ettől még érdekes lehet tudni, hogy mi a gond. nem mindig elég a tünetkezelés... sőt.
- A hozzászóláshoz be kell jelentkezni
Majd ha sok gigát kell áttolni akkor lesz érdekes !!! :)
- A hozzászóláshoz be kell jelentkezni
A netcat 2-3x gyorsabbnak mutatkozott mint a samba. Gondoltam a tar-al kombinálva is jócskán maradhat az előnyéből. (A gzip-et eredetileg nem akartam használni, csak próbaképpen került a képbe, amikor úgy nézett ki, hogy a sima tar nem működik.
---
If you have money, use Windows!
However, if you also have a brain, use Linux!
- A hozzászóláshoz be kell jelentkezni
AIX 4.3-on, SLES 8-on sem volt gondom ..
- A hozzászóláshoz be kell jelentkezni
"Nem értem miért kell ennyire megbonyolitani!"
Ne törődj vele. Elég hogy mi többiek értjük.
- A hozzászóláshoz be kell jelentkezni
probaltal adni timeoutot (-w)?
- A hozzászóláshoz be kell jelentkezni
Próbáltam. Különböző, 5 és 50s közötti értékekkel. A sleep-nél is hasonló értékekkel próbálkoztam, de sikertelenül.
---
If you have money, use Windows!
However, if you also have a brain, use Linux!
- A hozzászóláshoz be kell jelentkezni
tarold össze aztán.
a kuldo gépen
dd if=valami.tar bs=64M |gzip|nc a masik gep ip címe 5000
a fogadó gépen
nc -l -p 5000|gunzip|dd of=valami.tar bs=64M
- A hozzászóláshoz be kell jelentkezni
Valszeg abból adódhat a hiba, hogy ha ezzel a paranccsal indítom a másolást, akkor a az elindított processzek továbbfutnak a kliensen (ssh) és a szerveren (ssh, tar, gzip, netcat).
Különös, hogy önmagában ez nem elég a hibához, a hiba csak akkor lép fel, ha a parancsot egy bash szkriptből adom ki.
Ha így teszek, akkor az első másolás még sikeres, majd jönnek az "unexpected end of file" hibaüzenetek, és a töredékes másolatok.
Hogyan lehetne ezeket a parancsokat úgy módosítani, hogy a másolás befejezése után egyetlen processz se fusson tovább se a kliensen se a szerveren? Az első másolás, ami még tiszta helyzetből indul, mindig sikeres, tekintet nélkül arra, hogy konzoli paranccsal indítom, vagy egy szkriptből!
---
If you have money, use Windows!
However, if you also have a brain, use Linux!
- A hozzászóláshoz be kell jelentkezni
Megvan a megoldás! Az ssh okozta a galibát; csak egy -n kellett a parancssorára, és máris működik a szkript.
A sebesség az én szerény gépeim között 50%-al veri a sambát.
Csak érdekességképpen: végeztem egy összehasonlítást a különböző hálózati másolási megoldások között, egy 720M-s fájllal.
Az eredmények:
scp: 26 Mbit/s
ssh+tar: 26 Mbit/s
samba: 32 Mbit/s
netcat + tar: 52 Mbit/s
netcat (önmagában csak egy fájl másolására alkalmas): 72 Mbit/s
---
If you have money, use Windows!
However, if you also have a brain, use Linux!
- A hozzászóláshoz be kell jelentkezni