Total backup på RPI. Hur?

Permalänk

Total backup på RPI. Hur?

Om jag vill att en RPI3B med kod och allehanda färdigconfiggade funktioner ska kopieras över till en ny RPI har jag använt mig av kloning, dvs, en img. Tryggt o bra just då. Det funkade bra fram tills jag införskaffade annat märke på SD-kortet (se annan tråd).
Jag måste ha en annan metod så för min del tänker jag mig:

1) formattera ett extern Minneskort i en valfri USB-sockel på RPI:n
2) Ange nåt Linux-kommando så hela RPI:ns kod med OS o allt förs över till stickan.
3) Ta nya uppstartade RPI:n (samma modell) o stoppa i stickan o kopiera över till nya.
4) Restart, Nya RPI:n är som första.

5) Om nån av dessa två ändras (dvs, jag ändrar i kod eller nån config) så ska jag kunna synca över förändringen till den/de andra via stickan. Men detta är just nu överkurs. Jag anar rsync dock..

Det är punkt 2 och 3 ovan som jag behöver hjälp med. Använder jag cp eller rsync och motiveringen till valet? Är metoden att kopiera helt galen eller? Det är ju def. inte nåt jag skulle gjort på en win7 maskin exempelvis...

Jag är osäker på vilka folders som ska kopieras (och exkluderas)...

Permalänk
Medlem

Jag brukar ta en backup med dd-kommandot och verifiera backupen med md5sum.
Har aldrig stött på problem hittills om jag velat installera om pajen, då har jag förvisso använt samma minneskort hela tiden vilket kanske kan påverka.

Att synka ändringar har jag aldrig get mig på så det får någon annan svara på^^

Edit: Med tanken på kommentaren under som givetvis stammer så kan jag förtydliga att jag gör min backup på en annan dator, d.v.s pluggar in minneskortet I min laptop och kör dd på den. Att ta en komplett backup via pajen är nog värre(omöjligt?). Då är det väl att backupa vissa mappar med rsync eller vanlig cp som gäller.

Visa signatur

Bara gammalt skräp...

Permalänk
Medlem

RPI'n måste boota från SDkortet.
När den väl bootat kan man ladda OS från något annat ställe, t ex från usbminnet.

Så tror det är svårt att lägga tillbaka kopian på sdkortet i RPI'n????

Visa signatur

42? Seven and a half million years and all you can come up with is 42?!
► FD Define R2 | Win10Pro | i7-3770K | Hyper212+ SP120PWM | P8P67 PRO | CML8GX3M2A1600C9 | 1080 Ti | AX750 | Asus VG27WQ | Eizo S2100 | HP Z24n |► OnePlus 6 |

Permalänk
Skrivet av xfade:

RPI'n måste boota från SDkortet.
När den väl bootat kan man ladda OS från något annat ställe, t ex från usbminnet.

Så tror det är svårt att lägga tillbaka kopian på sdkortet i RPI'n????

Om metoden blir så här i stället då:
1) "Target"-RPI;ns SD-kort stoppas in i en SD-kortsläsare och sen vidare in i "source"-RPI:ns USB-port
2) "Source"-RPI:n gör en CP (eller nåt annat kommando) så allt förs över till "Target"-RPI:ns SD-kort
3) Starta upp nya RPI:n med "Target"-SD-kortet

Bör inte detta fungera då?
Det är ju punkt 2 jag funderar främst på. Dels, givetvis om metoden fungerar, men sen om det "duger" med cp. Följer rättigheter o länkar o annat med så det blir en "exakt" kopia?

Jag ser att dd-kommandot är nåt jag måste studera...

Permalänk
Medlem
Skrivet av Sweedland:

Om metoden blir så här i stället då:
1) "Target"-RPI;ns SD-kort stoppas in i en SD-kortsläsare och sen vidare in i "source"-RPI:ns USB-port
2) "Source"-RPI:n gör en CP (eller nåt annat kommando) så allt förs över till "Target"-RPI:ns SD-kort
3) Starta upp nya RPI:n med "Target"-SD-kortet

Bör inte detta fungera då?
Det är ju punkt 2 jag funderar främst på. Dels, givetvis om metoden fungerar, men sen om det "duger" med cp. Följer rättigheter o länkar o annat med så det blir en "exakt" kopia?

Jag ser att dd-kommandot är nåt jag måste studera...

Nej, varken cp och rsync kommer att fungera. Du får inte med partitionerna, boot-info mm. Bästa sättet är just dd (men var försiktig med input och output så att du inte råkar skriva över något viktigt!)

Lättaste sättet är nog att först göra en image-fil mha dd och sedan skriva den till ett nytt kort, då har du dessutom en backup om något skulle skita sig. Om du hellre vill jobba i Windows finns det gott om alternativ där för att skapa och skriva image-filer.

Skickades från m.sweclockers.com

Visa signatur

Det finns bara två sorters hårddiskar: de som har gått sönder och de som skall gå sönder.

Permalänk
Medlem

Har googlat lite hastigt på jobbet nu om man kan ta en backup på hela systemet när det är igång.
Det verkar som att det går men att det inte rekommenderas då det är stor risk för att det blir en korrupt kopia.
Om det är vissa mappar du vill kopiera är det ok men verkar vara värre med hela systemet(vilket är vad du vill).

Det som verkar rekommenderas är min metod, d.v.s du plockar ur SD-kortet och gör backupen på en annan dator.
En annan dator I detta fallet kan även vara en annan Pi givetvis.

Metodik:
1) Fixa I ordning "originalet/sourcen" först med att installera alla program, ställ in configs etc..

2) Plocka ur SD-kortet från "originalet/sourcen" och stoppa I en valfri dator(en annan pi med ett os fungerar)

3) Stoppa I "originalet/sourcen" SD-kortet i datorn
*Hädanefter gäller detta bara för datorer med Linux eller Mac(troligtvis). Har du bara windowsburkar kanske google kan hjälpa dig eller någon annan...

4) Nu ska vi ta reda på vart SD-kortet ligger. Detta görs med exempelvis sudo fdisk -l. Nu kommer det komma en radda med information om de olika medierna som är ikopplade i datorn(hårddiskar inkluderade).
Vid närmare titt så kommer du se att varje media(hårddiskar, SD-kort, USB-minnen etc..) "adresseras" med formatet /dev/sdx där x är a,b,c,d,... Om du granskar storlekarna som står så bör du kunna lista ut vilken som är SD-kortet

5) Nu ska backupen tas med hjälp av dd! Med dd specifierar man en inputfile, outputfile samt blocksize. Inputfile i vårat fall är SD-kortet, Outputfile blir img-filen(backupen) och blocksizen(styr hastigheten för operationen?).
Formatet för en dd ser då ut på följande: sudo dd if=inputfilen of=outputfilen bs=blocksize
I ditt fall blir det då exempelvis: sudo dd if=/dev/sdx of=/home/din_user/minbackup.img bs=4M där x ersätts med a,b,c,d,e.. som du hittade i steg 4.
Kör enter så kommer det tuffa på ett par minuter(ingen feedback ges under operationen men den jobbar så vänta tills den meddelar att det är klart.

6) När du får ett ok i terminalen så är allt klart! Nu kan du klona denna img till oändligt med pajer

För att skriva till ett nytt Sd-kort:
1) Plugga in det tomma kortet i datorn

2) Gör steg 4 ovan

3) Skriv med dd. I vårat exempel blir det då:
sudo dd if=/home/din_user/minbackup.img of=/dev/sdx bs=4M där du givetvis igen byter ut x mot a,b,c,d,e... som du hittade i steget ovan. Låt datorn jobba ett par minuter

4) kopian är nu skriven på SD-kortet och nu redo att pluggas in i en ny raspberry pi

Varning! Var extremt noga när du tar reda på vilken sdx du skriver till. Råkar du skriva fel här så kanske du råkar skriva till hårddisken på datorn istället. Dubbel/trippelkolla innan du trycker enter på dd!

Visa signatur

Bara gammalt skräp...

Permalänk
Medlem

Detta har jag letat efter själv också många gånger. Jag vill ha TrueImage fast för Linux/rPi. Det man hittar när man söker är div. skript hit och dit som kopierar till en annan disk via rsync.

Först blev jag glad när Veeam släppte en version av Endpoint för Linux men tyvärr inte för ARM.

Mitt lättaste och enklaste sätt är att: stoppa systemet, dra ur kortet och sätt i en läsare, använda den vanliga DiskImager (https://sourceforge.net/projects/win32diskimager/) och sedan stoppa tillbaka kortet och start upp systemet igen.

Visa signatur

.: Learn the system, Play the system, Break the system :.

Permalänk
Medlem

Verkar som vi krånglar till det, eller så har du en gammal version av operativet. Jag kör nån version som installerades med NOOBS och där finns det en klona-sd-funktion, jag har själv provat detta när jag bytte från ett sd till ett annat (större). Minns tyvärr inte vad programmet heter, men det låg med som standardprogram med operativet (Raspbian)

Permalänk
Medlem

Det jag brukar göra är att göra en img fil med det vanliga Win32 Disk Imager, så jag har ifall något händer. Sedan startar jag upp en Linux burk eller en VM, och tar kortet genom GParted. Där krymper jag helt enkelt den "tomma biten" av kortet, och med dd ? Kopierar jag över innehållet till ännu en img fil. Sedan in med kortet i Rpi, utöka partition igen.
Börjar sedan med nästa kort. Anledningen till att jag krymper img filen är att det för mig alltid har fungerat att använda just den filen om det är olika tillverkare på sd-korten, eller rent av ett mindre kort jag har aldrig haft problem med permissions etc på Rpi nr2 med en kopia.

Skitdrygt att hålla på såhär. Så jag följer tråden och ser om det dyker upp någon smidig lösning

Visa signatur

Det var bättre förr
- Michael B. Tretow

Permalänk

Snövit:
Metoden att använda en img är ju att föredra men det blir problem om det är minsta skillnad mellan SD-korten/fabrikaten. Därav tänkte jag att jag kopierar "allt". Detta "allt" är med en viss modifikation. Egentligen är det där det finns script, apache2 samt PHP och givetvis Home-katalogen. Eftersom jag är till viss del osäker vilka kataloger/-träd som är aktuella för min del så tänker jag "allt".

Tillbaks till Snövit:
Jag ska testa med att krimpa "source" med Gparted. Då bestämmer JAG storleken på img-filen, inte storleken på just det SD-kortet. Ska jag tolka det så? Sen dd till "target" och sen förstora upp partitionen igen med Gparted. Det räcker ju att krimpa lite bara om man så vill. Nån Gig eller så....Eller ner till 7G (om det nu går) så man får in grejerna på ett 8G-kort om source är 16G.

Det låter som en framkomlig väg. Du berör just det som jag haft problem med också - olika tillverkare på SD-kort. :-/

Tack!

Permalänk
Medlem

@Sweedland:
Japp! Du kan krympa storleken på img-filen till enbart det använda utrymmet på kortet. Tänk dig att kortet är såhär:

Totalt: 16 Gb
Använt: 3.1 Gb
Ledigt: 12.9 Gb

Då kan du dra ned så att .img blir 3.1 Gb.

Dock krymper jag ned till 3.2-3.3 Gb i detta fall. Minns inte varför, men det står i nästan alla guider som har med "SD card shrink" att göra

Sedan kopierar jag den krympta delen till card-copy-1.img med dd kommando. Tillbaka med det gamla SD-kortet in i pajen och DÄR förstorar jag partitionen igen via rasp-config som vanligt.

Den nya card-copy-1.img filen som jag nu har tar jag bara och kopierar över på ett nytt SD-kort med Win32DiskImager som om det vore vilken .img som helt.
Detta har fungerat för mig oavsett kort. Har testat med Samsung, Sandisk, Kingston & Transcend.

Visa signatur

Det var bättre förr
- Michael B. Tretow

Permalänk
Skrivet av Snövit:

Sedan kopierar jag den krympta delen till card-copy-1.img med dd kommando. Tillbaka med det gamla SD-kortet in i pajen och DÄR förstorar jag partitionen igen via rasp-config som vanligt.

Kan rasp-config hantera partitioner? Det visste jag inte. Har inte hunnit med allt än.

Jag gör som följer:
1) Säk.kopierar en img med W32DiskImager till nån extern HD
2) Stoppar tebax SD i RPI:n och krymper med Gparted.
3) Kopierar SD-kortet med dd till ett USB-minne som är istoppat i RPI:n
4) Använder rasp-config för att expandera tillbaka SD-kortet till normal storlek
5) Tar USB-minnet med krympta img-filen och använder Win32DiskImager och dumpar över det till ett nytt SD-kort
6) Tar RPI nr2 och använder nya SD-kortet samt expanderar det till normal storlek (eller vad nu det ny SD-kortet har för stlk)

Tack så hemskt mycket för tipset. Ska testa det. Just nu har jag bara en img som INTE jag kan göra nåt åt så vitt jag vet. Men får nya minneskort med samma typ/modell så den img:n ska nog gå på det SD-kortet. Sen ska jag testa mot det andra kortet som inte img:n funkar i.

Permalänk

@Sweedland:
Epilog
Nya 16G korten kom idag. 16G från element14 med NOOBS på. Jag stoppade i det kortet i SD-läsaren o använde Win32DiskImager. Den skriker om att kortet är "för litet men img-filen verkar tom på data". Jag svarar "Ja" på att kopiera över datat på SD-kortet.
Detta kort startar dock upp. Är det formateringen som spelar roll? Eller nåt annat?

Permalänk
Medlem

Du kan även använda rsync

https://wiki.archlinux.org/index.php/full_system_backup_with_...

Oklart precis vilken bootloader kodi på en rpi använder.

Annars backa enbart ut config filerna och tryck in dem i den nya via SSH?

Visa signatur

Every mammal on this planet instinctively develops a natural equilibrium with the surrounding environment; but you humans do not. Instead you multiply, and multiply, until every resource is consumed.
There is another organism on this planet that follows the same pattern... a virus.
CITERA CITERA CITERA

Permalänk

@mini-ryttge:
Du skriver "Annars backa enbart ut config filerna och tryck in dem i den nya via SSH?"

Ja, det är ju lika intressant det. Men då vill jag ju få med nyinstallationer (apache2, vissa editors, andra program jag minns o glömt av etc) också. Det är där min knowhow brister. Jag är osäker var "programmet" läggs och var allt hamnar.

Ska läsa länken du skickade med..
edit: Den där länken ska jag läsa ingående... thanx

Permalänk
Medlem

En raspberrypi3 kan du boota från ett usb-minne.
Från och med raspbian 2017-04-10 kan man köra dd direkt till ett usb minne och boota.

Att kopiera en fungerande installation kan man göra efter den här guiden:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=44177

Visa signatur

Kör Archlinux

Permalänk
Medlem
Skrivet av /bin/sh:

En raspberrypi3 kan du boota från ett usb-minne.
Från och med raspbian 2017-04-10 kan man köra dd direkt till ett usb minne och boota.

Att kopiera en fungerande installation kan man göra efter den här guiden:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=44177

Najs.

Tackar för denna info.

Ignorera mitt inlägg högre upp i denna tråd.

Visa signatur

42? Seven and a half million years and all you can come up with is 42?!
► FD Define R2 | Win10Pro | i7-3770K | Hyper212+ SP120PWM | P8P67 PRO | CML8GX3M2A1600C9 | 1080 Ti | AX750 | Asus VG27WQ | Eizo S2100 | HP Z24n |► OnePlus 6 |

Permalänk

Hmm....jag har funderat lite på detta. Målet med en img just nu är att få till en RPI som är en exakt kopia av den tidigare även om SD-kortet inte är exakt lika. Det kommer ju att funka med de olika tips som finns i denna tråd. Tyvärr innehåller denna img en hel del labbande med script och configgande som inte är nödvändigt eller bra. Det är alltså en "smutsig" installation som replikeras.
Som nån skrev i tråden; ett alternativ är att kanske kopiera .confs istället? Ja, det är bättre ur dokumenteringssynpunkt. En punktlista med vad som ska installeras och konfigureras är en renare metod. När väl listan är nedtecknad och provats så kan en img göras.

Permalänk
Medlem
Skrivet av Sweedland:

Hmm....jag har funderat lite på detta. Målet med en img just nu är att få till en RPI som är en exakt kopia av den tidigare även om SD-kortet inte är exakt lika. Det kommer ju att funka med de olika tips som finns i denna tråd. Tyvärr innehåller denna img en hel del labbande med script och configgande som inte är nödvändigt eller bra. Det är alltså en "smutsig" installation som replikeras.
Som nån skrev i tråden; ett alternativ är att kanske kopiera .confs istället? Ja, det är bättre ur dokumenteringssynpunkt. En punktlista med vad som ska installeras och konfigureras är en renare metod. När väl listan är nedtecknad och provats så kan en img göras.

Det fungerar dock bara om man är väldigt disciplinerad och skriver ner allt man göra och var det ligger. Tyvärr brukar det sättet haverera efter ett tag. Eller om man bara har en väldigt specifik mjukvara som körs och det är endast den som ligger och snurrar. (iaf min uppfattning)

Visa signatur

.: Learn the system, Play the system, Break the system :.