het EngelsFransSpaans

Servers draaien | Ubuntu > | Fedora > |


OnWorks-favicon

fssync - Online in de cloud

Voer fssync uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht fssync die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


fssync - Synchronisatietool voor bestandssysteem (1-weg, via SSH)

KORTE INHOUD


fssync -d db -r wortel [optiegastheer

PRODUCTBESCHRIJVING


fssync is een eenrichtingstool voor bestandssynchronisatie die inodes volgt en een lokale
database van bestanden die zich aan de externe kant bevinden, waardoor het in staat is om:

· efficiënt omgaan met een groot aantal mappen/bestanden

· hernoemen/verplaatsen en hardlinks detecteren

Het is gericht op het minimaliseren van netwerkverkeer en het synchroniseren van elk detail van een bestandssysteem:

· alle soorten inodes: file, dir, block/character/fifo, socket, symlink

· behoud van harde links

· wijzigingstijd, eigendom/toestemming/ACL, uitgebreide attributen

· schaarse bestanden

Andere kenmerken:

· het kan worden geconfigureerd om bestanden uit te sluiten van synchronisatie

· fssync kan op elk moment worden onderbroken en hervat, waardoor het bestand is tegen willekeurige fouten
(bijv. netwerkfout)

· algoritme om bestandsinhoud te synchroniseren is ontworpen om grote bestanden zoals VM-afbeeldingen te verwerken
efficiënt, door gewijzigde blokken met een vaste grootte ter plaatse bij te werken

Het belangrijkste gebruik van fssync is om gegevensverlies te voorkomen in geval van hardwarestoring, waar RAID1 is
niet mogelijk (bijvoorbeeld in laptops).

On Btrfs [1] bestandssystemen, fssync is een handig alternatief voor btrfs sturen (En ontvangen)
commando's, dankzij filtermogelijkheden. Dit kan worden gecombineerd met Btrfs snapshotting
aan de bestemmingszijde voor een volledige back-upoplossing.

GEBRUIK


Te gebruiken fssync --help om de volledige lijst met opties te krijgen.

Het belangrijkste om te onthouden is dat de lokale database exact moet overeenkomen met wat
op de bestemmingshost:

· Bestanden die naar de doelhost zijn gekopieerd, mogen niet worden gewijzigd. En niets mag
handmatig worden aangemaakt in doelmappen. Als u nog steeds toegang wilt tot gegevens op
externe host, moet u dit doen via een alleen-lezen bind mounts (vereist Linux >=
2.6.26).

· U moet 1 database per bestemming hebben, als u van plan bent meerdere exemplaren van hetzelfde te hebben
bron directory.

Kijken naar -c optie als u zich afvraagt ​​of uw database overeenkomt met de doelmap.

Eerste uitvoering van fssync:

· De makkelijkste manier is om fssync alles te laten doen. Geef een niet-bestaand bestandspad op naar -d
optie en een lege of niet-bestaande doelmap (zie -R optie). fssync zal
maakt automatisch de database aan en kopieert alle mappen/bestanden naar de externe host.

· Een snellere manier kan zijn om de eerste kopie op een andere manier te maken, zoals een onbewerkte kopie van a
partitie. Als je er absoluut zeker van bent dat de bron en de bestemming precies hetzelfde zijn,
u kunt de database initialiseren door op te geven: - als gastheer. Als de inodenummers hetzelfde zijn
aan beide zijden, wat het geval is als gegevens op blokniveau zijn gekopieerd, kunt u de
bronpartitie terwijl u de DB initialiseert op de doelpartitie, en ga terug
de DB lokaal.

Een voorbeeld van een wrapper rond fssync, met een filter, is te vinden op: voorbeelden/fssync_home

fssync daalt nooit mappen op andere bestandssystemen. Inodes gemaskeerd door koppelpunten
worden ook overgeslagen, dus ze moeten tijdelijk worden ontkoppeld als u dat wilt
gesynchroniseerd. Hetzelfde resultaat kan worden bereikt door te synchroniseren vanaf een bind mount.

Zie ook de GEEN cijfer schakelen [2] patch als je geen versleuteling nodig hebt en je dat wel wilt
versnel uw SSH-verbinding.

HOE IT WERKEN


fssync onderhoudt een enkele SQLite-tabel van alle mappen/bestanden die zich aan de externe kant bevinden. Elk
rij komt overeen met een pad, met zijn inode (aan lokale kant), andere metadata (aan externe kant) en a
gecontroleerd vlag.

Tijdens het uitvoeren itereert fssync recursief door alle lokale mappen/bestanden en voor elk pad
dat wordt niet genegeerd (zie -f optie), vraagt ​​het de DB om te beslissen wat te doen. Als al
gecontroleerd, pad wordt onmiddellijk overgeslagen. Wanneer een pad is gesynchroniseerd, wordt het gemarkeerd als
gecontroleerd. Aan het einde, alle rijen die dat niet zijn gecontroleerd komt overeen met paden die niet bestaan
niet meer. Zodra ze aan de externe kant zijn verwijderd, worden alle gecontroleerd vlaggen worden gereset.

Storing tolerantie
In feite vereist fssync niet dat de database perfect overeenkomt met de bestemming. Het
tolereert enkele verschillen om een ​​onderbroken synchronisatie veroorzaakt door a
netwerkfout, een bestandsbewerkingsfout of iets anders dan een crash van het besturingssysteem
van de lokale host (of iets dergelijks als een stroomstoring).

In de meeste gevallen wordt dit gedaan door de externe host, die automatisch maakt (of overschrijft)
indien nodig een inode van het verwachte type. De enige uitzondering is dat de afstandsbediening
verwijder nooit een niet-lege map op zichzelf. Voor de meeste complexe gevallen, journaliseert fssync
de bewerking in de database: in geval van een fout kan fssync herstellen op volgende
synchroniseren.

Race voorwaarden
Een race-conditie betekent dat andere processen op de lokale host inodes wijzigen die:
fssync is bezig met synchroniseren. fssync kan elke raceconditie aan. In feite heeft fssync:
in de meeste gevallen niets te doen.

Wanneer zich een race-conditie voordoet, kan fssync niet garanderen dat de externe gegevens in een
consistente staat. Elke synchronisatie corrigeert altijd bestaande inconsistenties, maar kan introduceren
anderen, dus fssync is niet geschikt voor hot backup van databases.

Met Btrfs kunt u consistentie verkrijgen door snapshots aan de bronzijde te maken.

VERGELIJKBAAR HOOFDACTIVITEITEN


Het idee van het onderhouden van een lokale database komt eigenlijk van: csync2 [3]. ik ging net
adopteerde het toen ik me realiseerde dat ik echt een tool nodig had die altijd hernamen/verplaatsingen van . detecteert
grote bestanden. Daarom zie ik fssync als een gedeeltelijke herschrijving van csync2, met inode-tracking en
zonder bidirectionele synchronisatie. De lokale database maakt fssync & csync2 . echt
sneller dan de bekende rsync [4].

Gebruik fssync online met onworks.net-services


Ad


Ad