Jump to content
Just nu i M3-nätverket

Copy-kommandon


planB

Recommended Posts

När jag körde BeOS för fem-sex år sedan lärde jag mig lite elementär bash-shell som jag nu glömt. I windows använder jag mig mycket av batch-filer för att göra backup'er. Om jag minns rätt går det göra liknande batch-filer också i shell. Jag begär inte en lektion här och nu, men kan någon ge strukturen så kommer jag säkert igång.

 

I windows hade jag batch-filer som såg ut:

 

xcopy c:\misc\*.* s:\misc\ /d /s

 

Hur skulle detta se ut i bash och hur skall textfilerna sparas så det bara är att klicka på dem likt batch-filer? I *nix-liknande system som MacOSX finns ju inga enhetsbeteckningar. Vad har t.ex. ett USB-minne som mountas på skrivbordet med namnet "kingston" för sökväg?

 

Tack för några ledtrådar i rätt riktning, så klara jag mig nog på egen hand sedan.

Link to comment
Share on other sites

Sökväg: gå till /Volumes/ i Terminal och tryck på tab så ser du vad som finns.

 

Kopiera: antar att du inte menar cp?

 

Edit: det filnns ett kommando som heter asr som verkar intressant. Inget jag kan, men testa "man asr".

Link to comment
Share on other sites

OK, en bit på vägen nu.

 

Jo, det är väl cp som används för kopiering av filer, eller finns det andra? Jag kanske är dålig på att läsa man-sidor men finns det verkligen inte någon flagga för det som i windows kommandotolk är /d, dvs. att endast filer som har ändrats kopieras till målmappen som redan har alla de filer man back-up'at?

Link to comment
Share on other sites

Det finns ingen motsvarighet till /d på cp-kommandot i Unix, men det går nog att lösa ändå.

 

Om du skriver

find source -newer dest

så får du en lista över alla filer i mappen source (inklusive undermapper) som är ändrade efter datumet då mappen dest är ändrad.

 

Eftersom utdata från ett kommando kan användas som indata till ett annat kommando i Unix bör du då kunna skriva:

 

cp `find source -newer dest` dest

för att uppnå det du vill. Kommandot cp kan nämligen ta (nästan) hur många parametrar som helst. Alla filer som pekas ut utom den sista kommer att kopieras, en efter en, till den sista parametern (som lämpligen är namn på en mapp). Så kommandot ovan tar utdata från find-kommandot och skickar in den listan som parametrar till cp-kommandot. Sedan lägger man på dest sist i cp för att ange vart filerna från find skall kopieras.

 

Har inte testat detta själv, men det borde fungera.

Link to comment
Share on other sites

Du kan också kolla på "dump". Ett bra tips för att lära sig mer om att arbeta i Terminalen är att köra "apropos" efterföljt attt ett mellanslag och det man vill veta mer om, som t.ex

apropos backup

Då får du upp alla kommandon som har med backup att göra. Det finns många program för att "kopiera" filer i Unix/Linux/Unix-liknande OS, men de uppdaterar inte metadata, som t.ex datum och tid för senaste backup. Vilket innebär att du får hålla reda på vilka filer som är backupade på annat sätt, om du väljer att använda något annat filkopieringskommando.

 

Om du nu vill kopiera filer så kan du kolla på cp, ditto, rsync, rcp, scp och en mängd andra beroende på vad du vill göra. Ska du bara kopiera till en annan volym på samma dator eller ska du kopiera till en annan dator i nätverket? Ska kopieringen ske med kryptering eller utan? Ska datumet för senaste backup uppdateras i filens metadata?

Link to comment
Share on other sites

Tack för svar. Jag har redan fått lite tips från annat håll. Tillsvidare kör jag GUI och iBackup

Link to comment
Share on other sites

Kanske lite sent att komma med fler tips men jag rekommenderar rsync för att göra backuper, går att använda både över nätverk och lokalt.

 

Går även väldigt lätt att skriva script för och köra med cron.

Exempelvis så kör jag följande med rsync:

Synkning av databaser varje natt klockan 04:00.

Synkning av hemkatalog på min hemmaserver med ~/serverhome på min mac varje natt.

Synkning av all web-data (förutom databaser) till ~/Backup/www-current/ varje natt.

Fräsch kopia av all web-data till ~/Backup/www-(datum)/ varje måndagnatt.

 

Väldigt användbart litet verktyg alltså. :)

 

/mludd

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...