Kopiera mapp rekursivt via SSH från Ubuntu server till lokal mapp på klient dator?

Permalänk
Medlem

Kopiera mapp rekursivt via SSH från Ubuntu server till lokal mapp på klient dator?

Vad för kommando skall jag köra för att kopiera en mapp rekursivt till lokal mapp på en klient via SSH?
Kört ett par kommandon men lyckas inte få det funka.
Kör som root.

Permalänk
Medlem

Prova med kommandot:

$ scp -r <username>@<hostname>:/.../<srcdir> <destdir>

Exempel: Kopiera mappen /tmp/foo från en maskin med namn computer1 till mappen /home/alice/bar som användare alice:

$ scp -r alice@computer1:/tmp/foo /home/alice/bar

Permalänk
Medlem

har provat med scp tidigare utan lyckat resultat skall prova strängen du posta, tack.

Permalänk
Medlem

Vad skrev du när det inte fungerade?

Jag brukar bara göra såhär:
cd ditjagvillkopiera
scp -r root@1.1.1.1:/home/user/ . (OBSERVERA PUNKTEN)

Permalänk
Datavetare

Att använda "-r" till scp ska fungera, men det är väldigt långsamt om det handlar om många filer och om det inte är extremt låg latens mellan maskinerna. För att göra detta

cd ditjagvillkopiera scp -r root@1.1.1.1:/home/user/ .

skriver man då istället

ssh root@1.1.1.1 tar cJ /home/user | tar xJ -C ditjagvillkopiera --strip-components=2

--strip-components=2 behövs om du inte vill ha med /home/user i det som skapas i ditjagvillkopiera, de säger att man vill kapa bort de 2 första delarna av sökvägen i "tar" arkivet. Detta går väldigt mycket fortare och skickar mindre data över nätet.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

När vi talar om saken. Jag använde följande kommando för att kopiera en mapp med .mkv-filer från min dator till en NAS.

scp -r path/to/folder admin@<IP>:path/to/folder

Problemet jag upplever är att det bara är just "admin" som har möjlighet att öppna mappen. Är detta en inställning i NASen eller är det scp som är boven i dramat?

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕

Permalänk
Medlem
Skrivet av YGLeXz:

När vi talar om saken. Jag använde följande kommando för att kopiera en mapp med .mkv-filer från min dator till en NAS.

scp -r path/to/folder admin@<IP>:path/to/folder

Problemet jag upplever är att det bara är just "admin" som har möjlighet att öppna mappen. Är detta en inställning i NASen eller är det scp som är boven i dramat?

Beror väll på att filens ägare är i gruppen Admin med läs/skrivrättigheter men när du flyttar filen till NASEn har du ingen användare med dessa behörigheter..

Permalänk
Hedersmedlem

Ett annat alternativ att titta på är `rsync` som ofta är trevligare än `scp` i mina ögon när det handlar om större jobb, då den har en "killer feature" i att intelligent kunna återuppta avbrutna överföringar, utöver att det vid uppdateringar kontrollerar exakt vilka filer, och till och med vilka bitar av dessa filer, som behöver överföras på nytt. Komprimering kan läggas till med en växel (`-z`), men det är nog inget jag själv använt. Syntaxen är också lite mer rättfram än att dra fram pipes och blanda in ytterligare program.

Har man många (miljoner) just små filer så kan `rsync`s ordinarie algoritm säcka ihop av alla checksummekontroller, men det ska till rätt exotiska förhållanden, skulle jag säga. Jag har nog aldrig varit med om det. Däremot har jag varit med om problem med `tar`-pipes över `scp` i samband med större överföringar; specifikt hur det hanterar avbrutna sådana, då man snabbt börjar återuppfinna `rsync`s checksummealgoritmer för att återuppta smidigt.

tar + rsync + untar. Any speed benefit over just rsync? [SF.SX] innehåller en diskussion på temat.

Största "problemet" med `rsync` är nästan att det kan göra så vansinnigt många saker att det är möjligt att gå vilse i dess 187k tecken långa manualsida, men det är något av ett "lyxproblem".

Med det sagt så ska det generellt inte vara några bekymmer med `scp -r` heller, och i praktiken är det nog vad jag använder mest pga dess enkelhet, om det inte handlar om större överföringar (speciellt över långsammare uppkopplingar där avbrott av olika anledningar inte alls är främmande).

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk

Är det inte typ bara dra mappen dit man vill ?:) Kanske inte funkar på server (eller ja beror väl på vilket os man kör).

Visa signatur

Min spel rigg:FD Define R4|VX 550W|i5 2500K|Corsair LP 4GBX2|Mammabräda P67 Extreme4|GTX 670 windforce|23tum u2312hm
Min gamla/HTPC:AMD 6000+|Ram 2GbX2|Radeon HD5770| XFX 450/nu XFX 550
Mitt bygge: ByggloggFri frakt INET:Fraktfritt sweclockers vid köp över 500kr

#Gilla inlägg som är bra & Använd citera/@"namn" vid snabbt svar

Permalänk
Medlem
Skrivet av Broken-arrow:

Är det inte typ bara dra mappen dit man vill ?:) Kanske inte funkar på server (eller ja beror väl på vilket os man kör).

Det är svårt med "drag and drop" i ett läge som detta!

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕

Permalänk
Hedersmedlem
Skrivet av YGLeXz:

http://i.imgur.com/DI8thS6.png

Det är svårt med "drag and drop" i ett läge som detta!

Det går att montera fjärrdatorn med SSHFS varpå det dyker upp som en "vanlig katalog" i filsystemet, vilket hanteras transparent av alla typer av filhanterare (de erbjuder också vanligen sätt göra sådana mappningar inifrån programmet). Sedan så finns det grafiska program som exempelvis Filezilla som stöder SFTP, där man loggar in på fjärrdatorn med SSH-uppgifter och får en full överblick över mappstrukturen, så det saknas inte grafiska alternativ om man vill ha sådana.

Med det sagt så kommer det en mängd fördelar med att sköta det via en terminal; bättre kontroll på vad som händer, busenkel automation, konsekvent gränssnitt oberoende av system, mer funktionalitet, resurssnålare fjärranvändning, etc.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Hedersmedlem
Skrivet av =JoNaZ=:

Vad skrev du när det inte fungerade?

Jag brukar bara göra såhär:
cd ditjagvillkopiera
scp -r root@1.1.1.1:/home/user/ . (OBSERVERA PUNKTEN)

Du är nog medveten om att du kan "effektivisera" det hela genom att bara skriva

scp -r root@1.1.1.1:/home/user/ ditjagvillkopiera

Exempelkommandot som givits drar hela hemkatalogen för fjärranvändaren vilket låter rätt mastigt, men ja, principen är densamma. Man ska inte vara "rädd" för att använda de funktioner som erbjuds.

Sedan så sticker det lite i ögonen med root-inloggning över SSH, vilket vanligen bör vara inaktiverat och då ej heller behövas för generell filåtkomst.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

SSHFS funkar alltid för mig, mapparna dyker även upp i den grafiska filhanteraren.

Rsync har fördelen att den bara överför datan som skiljer, så man kan använda det för att uppdatera eller återuppta överföringar.

Bittorrent Sync är ett annat sätt att synka mappar mellan maskiner, det är gratis och ganska lätt att använda.

Permalänk
Skrivet av YGLeXz:

http://i.imgur.com/DI8thS6.png

Det är svårt med "drag and drop" i ett läge som detta!

Förstod att det skulle kunna vara en sån begränsning Eller ja typ begränsning.

Visa signatur

Min spel rigg:FD Define R4|VX 550W|i5 2500K|Corsair LP 4GBX2|Mammabräda P67 Extreme4|GTX 670 windforce|23tum u2312hm
Min gamla/HTPC:AMD 6000+|Ram 2GbX2|Radeon HD5770| XFX 450/nu XFX 550
Mitt bygge: ByggloggFri frakt INET:Fraktfritt sweclockers vid köp över 500kr

#Gilla inlägg som är bra & Använd citera/@"namn" vid snabbt svar