Btrfs

Hur man använder Btrfs-ögonblicksbilder

Hur man använder Btrfs-ögonblicksbilder
Btrfs-filsystemet har inbyggt snapshot-stöd för filsystemnivå. Du kan skapa en delvolym i ditt Btrfs-filsystem och ta ögonblicksbilder av filerna / katalogerna i den delvolymen. Att ta en ögonblicksbild av en delvolym sparar tillståndet för filerna / katalogerna i den delvolymen. Du kan återställa alla filer / kataloger i delvolymen från ögonblicksbilden om du behöver det.

Ögonblicksbildfunktionen för Btrfs-filsystemet använder principen Copy-on-Write (CoW). Så det tar inte mycket diskutrymme och du kan ta ögonblicksbilder av en undervolym direkt.

Btrfs-filsystemet stöder två typer av ögonblicksbilder.

  1. Skrivbara ögonblicksbilder: Om du tar en skrivbar ögonblicksbild kan du ändra den snapshots filer / kataloger senare. Detta är standard ögonblicksbildstyp för Btrfs-filsystemet.
  2. Skrivskyddade ögonblicksbilder: Om du tar en skrivskyddad ögonblicksbild kan du inte ändra den snapshots filer / kataloger senare.

Den här artikeln visar hur du tar skrivbara och skrivskyddade ögonblicksbilder av dina Btrfs-filsystems delvolymer. Jag kommer också att visa dig hur du uppdaterar en skrivbar ögonblicksbild och återställer filer från en ögonblicksbild. Jag visar dig hur du tar bort en ögonblicksbild också. Så, låt oss komma igång.

Förutsättningar

För att testa exemplen i den här artikeln,

Jag har en 20 GB hårddisk sdb på min Ubuntu-maskin. Jag har skapat två partitioner sdb1 och sdb2 på den här hårddisken. Jag kommer att använda partitionen sdb1 i den här artikeln.

$ sudo lsblk -e7

Din hårddisk eller SSD kan ha ett annat namn än mitt, så kommer partitionerna också att göra. Så se till att ersätta dem med din från och med nu.

Om du behöver hjälp med att installera Btrfs-filsystemet på Ubuntu, kolla in min artikel Installera och använd Btrfs på Ubuntu 20.04 LTS.

Om du behöver hjälp med att installera Btrfs-filsystemet på Fedora, kolla in min artikel Installera och använd Btrfs på Fedora 33.

Skapa ett Btrfs-filsystem

För att experimentera med Btrfs-delvolymer måste du skapa ett Btrfs-filsystem.

Att skapa ett Btrfs-filsystem med etiketten datasdb1 partition, kör följande kommando:

$ sudo mkfs.btrfs -L data / dev / sdb1

Ett Btrfs-filsystem ska skapas.

Skapa en katalog /data med följande kommando:

$ sudo mkdir -v / data

För att montera Btrfs-filsystemet som skapats på sdb1 partition i /data katalog, kör följande kommando:

$ sudo mount / dev / sdb1 / data

Btrfs-filsystemet ska monteras som du kan se på skärmdumpen nedan.

$ df -h / data

Förbereder Btrfs-filsystemet för ögonblicksbilder

I Btrfs kan du bara ta bilder av Btrfs-delvolymer. Huvudroten till ett Btrfs-filsystem är också en delvolym. Så du kan ta säkerhetskopian av hela Btrfs-filsystemet samt specifika delvolymer.

Detta avsnitt skapar en Btrfs-delvolym / data / projekt / webb1 och skapa nödvändiga filer för nästa avsnitt i den här artikeln nedan. Jag kommer också att skapa en katalog där du kan behålla dina ögonblicksbilder. I nästa avsnitt visar jag dig hur du tar ögonblicksbilder (skrivbar och skrivskyddad), uppdaterar en skrivbar ögonblicksbild och återställer filer från ögonblicksbilden. Så, låt oss komma igång.

Skapa först en ny katalog / data / projekt som följer:

$ sudo mkdir -v / data / projects

Skapa en ny delvolym webb1 i / data / projekt katalog enligt följande:

$ sudo btrfs subvolume create / data / projects / web1

Skapa en ny fil index.html i / data / projekt / webb1 delvolym enligt följande:

$ sudo nano / data / projects / web1 / index.html

Skriv in följande rader med koder i index.html fil.




Demo-webbplats



Hello World 4



När du är klar trycker du på + X följd av Y och för att spara index.html fil.

Skapa en ny fil stil.css i / data / projekt / webb1 delvolym enligt följande:

$ sudo nano / data / projects / web1 / style.css

Skriv in följande rader med koder i stil.css fil.

h1
färg: grön;

När du är klar trycker du på + X följd av Y och för att spara stil.css fil.

Nu den / data / projekt / webb1 delvolymen har index.html och stil.css fil.

$ ls -lh / data / projects / web1

Jag vill behålla alla ögonblicksbilder av detta Btrfs-filsystem i /data/.ögonblicksbilder katalog.

Skapa /data/.ögonblicksbilder katalog med följande kommando:

$ sudo mkdir -v / data /.ögonblicksbilder

Ta ögonblicksbilder av en delvolym

Att ta en ögonblicksbild av / data / projekt / webb1 delvolym in i /data/.snapshots / web1-2020-12-25 katalog (skapas automatiskt), kör följande kommando:

$ sudo btrfs delvolym ögonblicksbild / data / projekt / web1 / data /.snapshots / web1-2020-12-25

En ögonblicksbild av / data / projekt / webb1 katalogen ska skapas på /data/.snapshots / web1-2020-12-25 katalog.

Som du kan se på skärmdumpen nedan, en ny delvolym .snapshots / web1-2020-12-25 är skapad. En ögonblicksbild är faktiskt en delvolym.

$ sudo btrfs subvolume list / data

Du kan se mer information om ögonblicksbilden du skapade i /data/.snapshots / web1-2020-12-25 katalog enligt följande:

$ sudo btrfs subvolume show / data /.snapshots / web1-2020-12-25

Som du kan se, alla filer som finns i / data / projekt / webb1 delvolym finns i /data/.snapshots / web1-2020-12-25 ögonblicksbild.

$ tree -a / data

Återställa filer från ögonblicksbilder

I det här avsnittet ska jag visa dig hur du återställer filer från Btrfs-ögonblicksbilderna.

Först ska jag visa dig hur du återställer en enda fil från ögonblicksbilden.

Öppna / data / projekt / web1 / index.html fil med nano-textredigeraren enligt följande:

$ sudo nano / data / projects / web1 / index.html

Gör eventuella ändringar du vill ha.

När du är klar trycker du på + X följd av Y och för att spara filen.

Som du kan se, den viktigaste index.html filen skiljer sig från index.html fil i ögonblicksbilden.

$ cat / data / projects / web1 / index.html
$ cat / data /.snapshots / web1-2020-12-25 / index.html

Vi har gjort ändringarna i huvudmenyn index.html filen är oönskad, och vi vill återställa index.html fil från ögonblicksbilden.

Du kan återställa index.html fil från ögonblicksbilden enligt följande:

$ sudo cp -v / data /.snapshots / web1-2020-12-25 / index.html / data / projekt / web1 / index.html

Som du kan se index.html filen återställs från ögonblicksbilden.

$ cat / data / projects / web1 / index.html
$ cat / data /.snapshots / web1-2020-12-25 / index.html

Låt oss nu se hur du återställer alla filer / kataloger från ögonblicksbilden.

Ta bort alla filer från / data / projekt / webb1 ögonblicksbild enligt följande:

$ sudo rm -rv / data / projects / web1 / *

För att återställa alla filer / kataloger från ögonblicksbilden, kör följande kommando:

$ sudo rsync -avz / data /.snapshots / web1-2020-12-25 / / data / projects / web1 /

Som du kan se återställs filerna / katalogerna från ögonblicksbilden.

$ ls -lh / data / projects / web1

Slutligen, låt oss se hur man återställer filer / kataloger från ögonblicksbilden i spegelläge. I spegelläge kommer undervolymens filer / kataloger att vara desamma som i ögonblicksbilden. Om det finns filer / kataloger i delvolymen som inte är tillgängliga i ögonblicksbilden tas de bort.

Låt oss skapa en ny fil i undervolymen för att skilja filträdet från ögonblicksbilden.

Skapa en LÄS.Text filen i / data / projekt / webb1 delvolym enligt följande:

$ echo "hej värld 5" | sudo tee / data / projects / web1 / README.Text

Som du kan se, är filträdet för / data / projekt / webb1 delvolymen skiljer sig från /data/.snapshots / web1-2020-12-25 ögonblicksbild.

$ tree -a / data

För att återställa filerna / katalogerna från /data/.snapshots / web1-2020-12-25 ögonblicksbild till / data / projekt / webb1 delvolym i spegelläge, kör följande kommando:

$ sudo rsync -avz --delete / data /.snapshots / web1-2020-12-25 / / data / projects / web1 /

Alla filer / kataloger i / data / projekt / webb1 undervolymen bör återställas (i spegelläge) från /data/.snapshots / web1-2020-12-25 ögonblicksbild.

Filträdet för / data / projekt / webb1 delvolym och /data/.snapshots / web1-2020-12-25 ögonblicksbild ska vara densamma.

Som du kan se indexet.html-fil och stil.css-filinnehållet är detsamma i / data / projekt / webb1 delvolym och /data/.snapshots / web1-2020-12-25 ögonblicksbild.

Innehållet i index.html och stil.css filen i / data / projekt / webb1 delvolym.

$ cat / data / projects / web1 / index.html
$ cat / data / projects / web1 / style.css

Innehållet i index.html och stil.css filen i /data/.snapshots / web1-2020-12-25 ögonblicksbild.

$ cat / data / projects / web1 / index.html
$ cat / data / projects / web1 / style.css

Uppdaterar en ögonblicksbild

Som standard tar Btrfs-filsystemet skrivbara ögonblicksbilder. En Btrfs-ögonblicksbild är precis som en delvolym. Så du kan ändra / uppdatera filer / kataloger för en skrivbar ögonblicksbild.

Låt oss uppdatera index.html filen i / data / projekt / webb1 delvolym.

Öppna först index.html fil från / data / projekt / webb1 delvolym med nano textredigerare enligt följande:

$ sudo nano / data / projects / web1 / index.html

Gör eventuella ändringar du vill ha. När du är klar trycker du på + X följd av Y och för att spara index.html fil.

Som du kan se indexet.html-fil av / data / projekt / webb1 delvolymen skiljer sig från /data/.snapshots / web1-2020-12-25 ögonblicksbild.

$ cat / data / projects / web1 / index.html
$ cat / data /.snapshots / web1-2020-12-25 / index.html

Du vill behålla index.html fil för / data / projekt / webb1 delvolym.

För att uppdatera index.html filen i /data/.snapshots / web1-2020-12-25 ögonblicksbild, kör följande kommando:

$ sudo cp -v / data / projects / web1 / index.html / data /.snapshots / web1-2020-12-25 / index.html

Som du kan se index.html fil för /data/.snapshots / web1-2020-12-25 ögonblicksbilden uppdateras.

Att uppdatera en ögonblicksbild är lika enkelt som att kopiera nya filer till ögonblicksbilden.

Ta skrivskyddade ögonblicksbilder av en delvolym

Ibland vill du inte att de ögonblicksbilder du har tagit ska uppdateras på något sätt. I så fall kan du skapa skrivskyddade ögonblicksbilder.

Till exempel för att skapa en skrivskyddad ögonblicksbild /data/.snapshots / web1-2020-12-26 av / data / projekt / webb1 subvolume, kör följande kommando:

$ sudo btrfs subvolume snapshot -r / data / projects / web1 / data /.snapshots / web1-2020-12-26

Som du kan se, en ny delvolym .snapshots / web1-2020-12-26 är skapad.

$ sudo btrfs subvolume list / data

Som du kan se ögonblicksbilden /data/.snapshots / web1-2020-12-26 är skrivskyddad.

$ sudo btrfs subvolume show / data /.snapshots / web1-2020-12-26

Låt oss uppdatera index.html fil från / data / projekt / webb1 delvolym.

För att göra det, öppna index.html fil från / data / projekt / webb1 delvolym med nano textredigerare enligt följande:

$ sudo nano / data / projects / web1 / index.html

Gör eventuella ändringar du vill ha. När du är klar trycker du på + X följd av Y och för att spara ändringarna.

Som du kan se index.html i / data / projekt / webb1 delvolymen skiljer sig från /data/.snapshots / web1-2020-12-26 ögonblicksbild.

$ cat / data / projects / web1 / index.html
$ cat / data /.snapshots / web1-2020-12-26 / index.html

Låt oss försöka uppdatera index.html filen i /data/.snapshots / web1-2020-12-26 ögonblicksbild.

$ sudo cp -v / data / projects / web1 / index.html / data /.snapshots / web1-2020-12-26 / index.html

Som du kan se kan du inte uppdatera index.html fil för /data/.snapshots / web1-2020-12-26 ögonblicksbild eftersom ögonblicksbilden är skrivskyddad.

Ta bort en ögonblicksbild

Jag har tidigare sagt att en Btrfs-ögonblicksbild är som en delvolym. Så du kan ta bort en Btrfs-ögonblicksbild precis som du tar bort en Btrfs-delvolym. Samma kommando.

Så här är filträdet för Btrfs-filsystemet monterat på /data katalog ser ut just nu.

$ tree -a / data

Låt oss ta bort .snapshots / web1-2020-12-25 ögonblicksbild.

$ sudo btrfs subvolume list / data

För att ta bort /data/.snapshots / web1-2020-12-25 ögonblicksbild, kör följande kommando:

$ sudo btrfs subvolume delete / data /.snapshots / web1-2020-12-25

Som du kan se ögonblicksbilden .snapshots / web1-2020-12-25 finns inte längre.

$ sudo btrfs subvolume list / data

Som du kan se filerna / katalogerna för /data/.snapshots / web1-2020-12-25 ögonblicksbild tas bort också.

$ tree -a / data

Slutsats

Den här artikeln har visat dig hur du tar skrivbara och skrivskyddade ögonblicksbilder av dina Btrfs-filsystems delvolymer. Jag har också visat dig hur du uppdaterar en skrivbar ögonblicksbild och återställer filer från en ögonblicksbild. Jag har visat dig hur du tar bort en Btrfs-ögonblicksbild också. Den här artikeln ska hjälpa dig att komma igång med Btrfs-ögonblicksbildfunktionen.

Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...
Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...