gbck - en nem måde at sikkerhedskopiere dine dotfiles på

Helikopter Cockpit - picjumbo.com

Jeg vil gerne fortælle dig en historie, der skete for et par dage siden. Det var en dejlig aften, og jeg ved ikke helt præcist, men på en eller anden måde har jeg ved en fejltagelse oprettet en mappe med navnet "~". Denne mappe var meget ked af at have det samme navn som en genvej til min hjemmekatalog, så jeg besluttede straks at afslutte dens elendige eksistens og slette den.

Jeg har forsigtigt anbragt mine fingre på mit tastatur og med al selvtillid og forsikring om, at jeg er den største terminalwitcher i mit kvarter, kører jeg disse kommandoer: rm -fr ~

Bare et langt sekund efter at jeg begyndte at svede som hver gang jeg har hørt Creeper i min dejlige Minecraft-borg. STHAP! CTRL + C! I det næste øjeblik har jeg været dybt inde på Encyclopedia of Gods og søgt efter nogle dejlige guder for at opdrage dem, fordi jeg har vidst, at jeg har brug for dem. Ja, det er sandt. Jeg har næsten slettet hele min hjemmekatalog.

Når jeg er kommet ud af det chok, slettede jeg endelig den onde mappe rm -fr "~" som beregnet ... og pludselig har jeg en idé ud af en klar blå himmel.

Jeg er begyndt at lege med ideen. Lad os lave et lille projekt for sjov. Lad os oprette et lille værktøj, der kan sikkerhedskopiere alle mine vigtige data til Git-arkivet. Det skal være let at opsætte, og vigtigst af alt skal det være let at faktisk lave sikkerhedskopien. Lad os kalde det gbck.

Med gbck er det meget let at konfigurere, hvilke filer jeg vil sikkerhedskopiere, eller endda hvilke resultater af kommandoer, jeg vil tage backup af. Lad mig være mere specifik. Jeg har sikkerhedskopi af mine globalt installerede npm-moduler - du kan nemt få listen npm liste -g og med den samme indsats kan du fortælle gbck, at du ønsker at tage backup af denne stdout inde i f.eks. npm-global-packages.txt-fil, det er bogstaveligt talt stykke kage. Tjek mine dotfiles for at se mere! Naturligvis kan du konfigurere, hvilken fil eller mappe, du vil tage backup af, og du kan også bruge nogle få indstillinger til at være begivenhedsspecifikere, som ekskluderer, inkluderer med glob support.

Som mange af jer allerede ved, er der flere løsninger på, hvordan man håndterer konfigurationsfiler - tjek listen på dotfiles.github.io. Den nemmeste måde er at bruge almindeligt Git-lager og derefter symlink-filer, hvad du har brug for fra det, men den indlysende ulempe ved denne tilgang er, at du konstant skal tænke over det og forpligte dine ændringer regelmæssigt. Med gbck handler det bare om at køre gbck, og som et plus kan du nemt tilføje filer på tværs af hele dit system uden nogen advarsler ved at redigere en konfigurationsfil.

Hvis du kan lide ideen, ville jeg være super glad, hvis du går videre til depotet og prøver det på egen hånd, kan du endda give mig en stjerne, hvis jeg havde fortjent det. ️

Tak for at have læst!

P.S: Og også Hvis du kan lide denne artikel - er det min første på Medium. Du kan give mig nogle klapper!

P.P.S: Bruger du Google Chrome? Kender du Clappe?