Dit is de opdracht rdiff-backup 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
rdiff-backup - lokale/externe mirror en incrementele back-up
KORTE INHOUD
rdiff-back-up [opties] gebruiker@]host1.foo]::bron_directory]
gebruiker@]host2.foo]::doelmap]
rdiff-back-up {{ -l | --lijst-incrementen } | --verwijder-ouder-dan- tijdsinterval | --lijst-bij-
tijd tijd | --lijst-gewijzigd-sinds tijd | --lijst-increment-sizes | --verifiëren | --verifieer-bij-
tijd tijd} gebruiker@]host2.foo]::doelmap]
rdiff-back-up --bereken-gemiddelde statbestand1 statbestand2 ...
rdiff-back-up --testserver [user1]@host1.net1::pad [[user2]@host2.net2::pad] ...
PRODUCTBESCHRIJVING
rdiff-back-up is een script, geschreven in python(1) die een back-up maakt van de ene map naar de andere.
De doelmap wordt een kopie (spiegel) van de bronmap, maar dan extra omgekeerd
diffs worden opgeslagen in een speciale submap van die doelmap, dus je kunt nog steeds
herstel bestanden die enige tijd geleden verloren zijn gegaan. Het idee is om de beste eigenschappen van een spiegel te combineren
en een incrementele back-up. rdiff-backup bewaart ook symlinks, speciale bestanden,
hardlinks, machtigingen, uid/gid-eigendom en wijzigingstijden.
rdiff-back-up kan ook op een bandbreedte-efficiënte manier over een pijp werken, zoals: rsync(1).
U kunt dus ssh en rdiff-backup gebruiken om een harde schijf veilig te back-uppen naar een externe
locatie, en alleen de verschillen worden verzonden. Met behulp van de standaardinstellingen,
rdiff-backup vereist dat het externe systeem ssh-verbindingen accepteert, en dat: rdiff-back-up
is geïnstalleerd in het PATH van de gebruiker op het externe systeem. Voor informatie over andere opties,
zie het gedeelte over AFSTAND OPERATIE.
Merk op dat u moet niet schrijven naar the spiegel directory behalve met rdiff-backup. Veel van
de stappen worden opgeslagen als omgekeerde diffs, dus als u een bestand verwijdert of wijzigt, kunt u:
de mogelijkheid verliezen om eerdere versies van dat bestand te herstellen.
Ten slotte is deze man-pagina meer bedoeld als een nauwkeurige beschrijving van het gedrag en
syntaxis van rdiff-backup. Nieuwe gebruikers willen misschien het meegeleverde voorbeeld.html-bestand bekijken
in de rdiff-back-updistributie.
OPTIES
-B, --back-up-modus
Forceer de back-upmodus, zelfs als het eerste argument een increment- of spiegelbestand lijkt te zijn.
--bereken-gemiddelde
Ga naar de modus voor het berekenen van het gemiddelde. De argumenten moeten een aantal statistieken zijn
bestanden. rdiff-backup zal het gemiddelde van de weergegeven statistiekenbestanden afdrukken en
Uitgang.
--carbonbestand
Schakel back-up van MacOS X carbonfile-informatie in.
--controleer-bestemmingsmap
Als een rdiff-backup-sessie mislukt, voert u rdiff-backup uit met deze optie op de
bestemmingsmap zal de mislukte map ongedaan maken. Dit gebeurt automatisch als u
poging om een back-up te maken naar een map en de laatste back-up is mislukt.
--vergelijken
Dit komt overeen met '--vergelijk-op-tijd' nu'
--vergelijk-op-tijd tijd
Vergelijk een directory met de back-upset op het gegeven moment. Dit kan handig zijn om
zien hoe gearchiveerde gegevens verschillen van huidige gegevens, of om te controleren of een back-up is
stroom. Dit vergelijkt alleen metadata, op dezelfde manier waarop rdiff-backup beslist of:
een bestand is gewijzigd.
--vergelijk-volledig
Dit komt overeen met '--vergelijk-vol-op-tijd nu'
--vergelijk-vol-op-tijd tijd
Vergelijk een directory met de back-upset op het gegeven moment. Om regulier te vergelijken:
bestanden worden de repositorygegevens in hun geheel gekopieerd naar de bronzijde en
byte voor byte vergeleken. Dit is de langzaamste maar meest complete vergelijkingsoptie.
--vergelijk-hash
Dit komt overeen met '--vergelijk-hash-op-tijd' nu'
--vergelijk-hash-op-tijd tijd
Vergelijk een directory met de back-upset op het gegeven moment. Gewone bestanden worden
vergeleken door hun SHA1-samenvatting aan de bronzijde te berekenen en te vergelijken met de
digest opgenomen in de metadata.
--maak-volledig-pad
Normaal gesproken wordt alleen de laatste map van het bestemmingspad gemaakt als het
bestaat niet. Met deze optie worden alle ontbrekende mappen op het doelpad
zal gemaakt worden. Gebruik deze optie met zorg: als er een typefout in het externe pad staat,
het externe bestandssysteem kan zeer snel vol raken (door een dubbele back-up te maken)
boom). Om deze reden is deze optie vooral gericht op scripts die automatiseren
back-ups.
--huidige tijd seconden
Deze optie is vooral handig om te testen. Indien ingesteld, zal rdiff-backup het gebruiken voor de
huidige tijd in plaats van de klok te raadplegen. Het argument is het aantal
seconden sinds het tijdperk.
--uitsluiten shell_patroon
Sluit het bestand of de bestanden uit die overeenkomen met shell_patroon. Als een directory overeenkomt,
dan zullen bestanden in die map ook overeenkomen. Zie de FILE SELECTIE
sectie voor meer informatie.
--exclusief-apparaat-bestanden
Sluit alle apparaatbestanden uit. Dit kan handig zijn om veiligheids-/machtigingsredenen of
als rdiff-backup apparaatbestanden niet correct verwerkt.
--exclusief-fifos
Sluit alle fifo-bestanden uit.
--exclusief-bestandslijst bestandsnaam
Sluit de bestanden uit die worden vermeld in bestandsnaam. Indien bestandsnaam is met de hand geschreven, waarschijnlijk
willen --exclusief-globbing-bestandslijst in plaats daarvan. Zie de FILE SELECTIE sectie voor meer
informatie.
--exclude-bestandslijst-stdin
Like --exclusief-bestandslijst, maar de lijst met bestanden wordt gelezen vanuit de standaardinvoer.
Zie de FILE SELECTIE sectie voor meer informatie.
--exclusief-globbing-bestandslijst bestandsnaam
Like --exclusief-bestandslijst maar elke regel van de bestandslijst zal worden geïnterpreteerd volgens
volgens dezelfde regels als --erbij betrekken en --uitsluiten.
--exclude-globbing-bestandslijst-stdin
Like --exclusief-globbing-bestandslijst, maar de lijst met bestanden wordt standaard gelezen
invoer.
--exclusief-andere-bestandssystemen
Sluit bestanden uit op andere bestandssystemen (geïdentificeerd door apparaatnummer) dan het bestand
systeem de hoofdmap van de bronmap is ingeschakeld.
--exclusief-regexp regexp
Sluit bestanden uit die overeenkomen met de opgegeven regexp. In tegenstelling tot de --uitsluiten optie, deze optie
komt niet overeen met bestanden in een map waarmee het overeenkomt. Zie de FILE SELECTIE sectie voor
meer informatie.
--exclusief-speciale-bestanden
Sluit alle apparaatbestanden, fifo-bestanden, socketbestanden en symbolische koppelingen uit.
--exclusief-sockets
Sluit alle socketbestanden uit.
--exclusief-symbolische-links
Sluit alle symbolische links uit. Deze optie wordt automatisch ingeschakeld als de back-up
source draait op native Windows om te voorkomen dat er een back-up wordt gemaakt van NTFS-reparsepunten.
--uitsluiten-indien-aanwezig bestandsnaam
Mappen uitsluiten als bestandsnaam is aanwezig. Deze optie moet vóór elke komen
andere omvatten of sluiten opties uit.
--kracht
Autoriseer een meer drastische wijziging van een map dan normaal (bijvoorbeeld wanneer
overschrijven van een bestemmingspad, of bij het verwijderen van meerdere sessies met
--verwijder-ouder-dan-). rdiff-backup zal u over het algemeen vertellen of het dit nodig heeft.
WAARSCHUWING: U kunt gegevensverlies veroorzaken als u deze optie verkeerd gebruikt. Verder NIET doen
gebruik deze optie bij het terugzetten, omdat het BESTANDEN zal VERWIJDEREN, tenzij u
weet absoluut wat je doet.
--groepstoewijzingsbestand bestandsnaam
Wijs groepsnamen en id's toe volgens het groepstoewijzingsbestand bestandsnaam. Zie het
GEBRUIKERS EN GROEPEN sectie voor meer informatie.
--erbij betrekken shell_patroon
Soortgelijke --uitsluiten maar neem in plaats daarvan overeenkomende bestanden op. in tegenstelling tot --uitsluiten, deze
optie zal ook overeenkomen met bovenliggende mappen van overeenkomende bestanden (hoewel niet
noodzakelijkerwijs hun inhoud). Zie de FILE SELECTIE sectie voor meer informatie.
--include-bestandslijst bestandsnaam
Like --exclusief-bestandslijst, maar neem in plaats daarvan de vermelde bestanden op. Als bestandsnaam is
handgeschreven wil je waarschijnlijk --include-globbing-bestandslijst in plaats daarvan. Zie de FILE
SELECTIE sectie voor meer informatie.
--include-bestandslijst-stdin
Like --include-bestandslijst, maar lees de lijst met opgenomen bestanden van standaardinvoer.
--include-globbing-bestandslijst bestandsnaam
Like --include-bestandslijst maar elke regel van de bestandslijst zal worden geïnterpreteerd volgens
volgens dezelfde regels als --erbij betrekken en --uitsluiten.
--include-globbing-bestandslijst-stdin
Like --include-globbing-bestandslijst, maar de lijst met bestanden wordt standaard gelezen
invoer.
--include-regexp regexp
Bestanden opnemen die overeenkomen met de reguliere expressie regexp. Alleen bestanden expliciet
geëvenaard door regexp zal worden opgenomen in deze optie. Zie de FILE SELECTIE sectie
voor meer informatie.
--inclusief-speciale-bestanden
Voeg alle apparaatbestanden, fifo-bestanden, socketbestanden en symbolische koppelingen toe.
--inclusief-symbolische-links
Voeg alle symbolische links toe.
--lijst-op-tijd tijd
Maak een lijst van de bestanden in het archief die op dat moment aanwezig waren. Als een map
in het archief is opgegeven, vermeldt u alleen de bestanden in die map.
--lijst-gewijzigd-sinds tijd
Maak een lijst van de bestanden die sinds de opgegeven tijd in de doelmap zijn gewijzigd.
Bekijk TIJD FORMATS voor het formaat van tijd. Als een map in het archief is
opgegeven, vermeldt u alleen de bestanden in die map. Deze optie leest niet de
bronmap; het wordt gebruikt om de inhoud van twee verschillende rdiff-back-ups te vergelijken
sessies.
-ik, --lijst-incrementen
Maak een lijst van het aantal en de datum van gedeeltelijke incrementele back-ups die zijn opgenomen in de opgegeven
doelmap. Er vindt geen back-up of herstel plaats als deze optie is
gegeven.
--lijst-increment-sizes
Maak een lijst van de totale grootte van alle increment- en mirror-bestanden op tijd. Dit kan zijn
nuttig bij het beslissen hoeveel stappen u wilt behouden en wanneer --remove-older-than.
Het specificeren van een submap is toegestaan; dan alleen de maten van de spiegel en
verhogingen die betrekking hebben op die submap worden weergegeven.
--max-bestandsgrootte grootte
Sluit bestanden uit die groter zijn dan de opgegeven grootte in bytes
--min-bestandsgrootte grootte
Sluit bestanden uit die kleiner zijn dan de opgegeven grootte in bytes
--nooit-drop-acls
Sluit af met een fout in plaats van acls of acl-vermeldingen te laten vallen. Normaal gesproken kan dit gebeuren
(met een waarschuwing) omdat de bestemming ze niet ondersteunt of omdat de
relevante gebruikers-/groepsnamen bestaan niet aan de bestemmingszijde.
--geen-acls
Geen toegangscontrolelijsten - back-up van ACL's uitschakelen
--geen-koolstofbestand
Back-up van MacOS X carbonfile-informatie uitschakelen
--geen-vergelijk-inode
Deze optie voorkomt dat rdiff-backup een hardlinked bestand markeert als gewijzigd wanneer:
het apparaatnummer en/of de inode verandert. Deze optie is handig in situaties waarin:
het bronbestandssysteem heeft geen permanente apparaat- en/of inodenummering. Bijvoorbeeld,
netwerkbestandssystemen kunnen mount-to-mount verschillen hebben in hun apparaatnummer (maar
mogelijk stabiele inodegetallen); USB/1394-apparaten kunnen op een ander apparaat verschijnen
nummers die elk opnieuw worden gemonteerd (maar zouden over het algemeen hetzelfde inodenummer hebben); en er zijn
bestandssystemen die niet eens dezelfde inode-nummers hebben van gebruik tot gebruik. Zonder
de optie rdiff-backup kan onnodige aantallen kleine diff-bestanden genereren.
--geen compressie
Schakel de standaard gzip-compressie van de meeste .snapshot- en .diff-incrementen uit
bestanden die zijn opgeslagen in de map rdiff-backup-data. Een back-upvolume kan bevatten:
gecomprimeerde en ongecomprimeerde stappen, dus het inconsistent gebruiken van deze optie is:
prima.
--geen-compressie-regexp regexp
Comprimeer geen stappen op basis van bestanden waarvan de bestandsnamen overeenkomen met regexp. De
standaard bevat veel algemene audiovisuele en archiefbestanden en is te vinden in:
Globals.py.
--nee-makkelijk
Geen ondersteuning voor uitgebreide kenmerken - schakel back-up van EA's uit.
--geen-bestand-statistieken
Dit zal het schrijven naar het bestand file_statistics in de rdiff-backup-data uitschakelen
map. rdiff-backup werkt iets sneller en neemt iets minder ruimte in beslag.
--geen-hard-links
Repliceer geen harde links aan de kant van de bestemming. Als er veel hard-linked bestanden zijn
aanwezig is, kan deze optie het geheugengebruik drastisch verminderen. Deze optie is ingeschakeld
standaard als de back-upbron of herstelbestemming op native draait
Windows.
--null-scheidingsteken
Gebruik nulls (\0) in plaats van nieuwe regels (\n) als lijnscheidingstekens, wat kan helpen wanneer
omgaan met bestandsnamen die nieuwe regels bevatten. Dit heeft invloed op het verwachte formaat van
de bestanden gespecificeerd door de --{include|exclude}-filelist[-stdin] schakelaars evenals
het formaat van het bestand met directorystatistieken.
--parsable-uitvoer
Indien ingesteld, wordt de uitvoer van rdiff-backup aangepast voor eenvoudige parsering door computers,
in plaats van gemak voor mensen. Momenteel is dit alleen van toepassing bij vermelding
verhoogt met behulp van de -l or --lijst-incrementen schakelaars, waar de tijd zal worden gegeven
in seconden sinds het tijdperk.
--overschrijven-tekens-naar-citaat
Als het bestandssysteem waarvan we een back-up maken niet hoofdlettergevoelig is, automatisch
'citeren' van karakters komt voor. Een bestand 'Developer.doc' wordt bijvoorbeeld
omgezet in ';068eveloper.doc'. Om dit gedrag te negeren, moet u specificeren:
deze optie.
--bewaar-numerieke-id's
Indien ingesteld, zal rdiff-backup uids/gids behouden in plaats van te proberen unames te behouden
en gnamen. Zie de GEBRUIKERS EN GROEPEN sectie voor meer informatie.
--afdrukstatistieken
Indien ingesteld, worden overzichtsstatistieken afgedrukt na een succesvolle back-up. Indien niet ingesteld,
deze informatie is nog steeds beschikbaar in het sessiestatistiekenbestand. Zie de
STATISTIEKEN sectie voor meer informatie.
-R, --herstel-als-van herstel_tijd
Herstel de opgegeven map zoals deze was vanaf herstel_tijd. Zie het TIJD FORMATS
sectie voor meer informatie over het formaat van herstel_tijd, en zie de HERSTELLEN
voor meer informatie over herstellen.
--remote-cmd cmd
Verouderd. Gebruik in plaats daarvan --remote-schema
--extern schema schema
Geef een alternatieve methode op om verbinding te maken met een externe computer. Dit is noodzakelijk
om rdiff-backup te krijgen om ssh niet te gebruiken voor externe back-ups, of als, bijvoorbeeld, rdiff-
back-up bevindt zich niet in het PATH aan de externe kant. Zie de AFSTAND OPERATIE sectie voor
meer informatie.
--remote-tempdir pad
Voegt de --tempdir optie toe met argument pad bij het aanroepen van externe instanties van
rdiff-back-up.
--verwijder-ouder-dan- tijd_spec
Verwijder de incrementele back-upinformatie in de doelmap met:
langer aanwezig is dan de opgegeven tijd. tijd_spec kan ofwel een absolute tijd zijn,
zoals "2002-01-04", of een tijdsinterval. Het tijdsinterval is een geheel getal gevolgd door
het teken s, m, h, D, W, M of Y, die seconden, minuten, uren, dagen,
weken, maanden of jaren respectievelijk, of een aantal van deze aaneengeschakeld. Voor
32m betekent bijvoorbeeld 32 minuten en 3W2D10h7s betekent 3 weken, 2 dagen, 10 uur en 7
seconden. In deze context betekent een maand 30 dagen, een jaar 365 dagen en een dag is
altijd 86400 seconden.
rdiff-backup kan niet-ouder-dan-verwijderen en een back-up maken of herstellen in een enkele sessie.
Om zowel een back-up van een map te maken als oude bestanden erin te verwijderen, moet u rdiff-
twee keer back-uppen.
Standaard verwijdert rdiff-backup informatie van één sessie tegelijk.
Als u twee of meer sessies tegelijk wilt verwijderen, geeft u de --kracht optie (rdiff-
back-up zal u vertellen of --kracht Is benodigd).
Merk op dat snapshots van verwijderde bestanden onder deze bewerking vallen. Dus als je
twee weken geleden een bestand verwijderd, onmiddellijk daarna een back-up gemaakt en vervolgens rdiff-
back-up met --remove-older-than 10D vandaag zou er geen spoor van dat bestand achterblijven.
Ten slotte hebben bestandsselectie-opties zoals --include en --exclude geen invloed op
--verwijder-ouder-dan.
--beperken pad
Vereisen dat alle bestandstoegang zich binnen het opgegeven pad bevindt. Deze schakelaar, en de
de volgende twee, zijn bedoeld om te worden gebruikt met de --server switch om een bit te geven
meer bescherming bij het maken van automatische back-ups op afstand. Zij zijn niet bestemde as jouw
Slechts lijn of verdediging dus doe alsjeblieft geen gekke dingen, zoals openbare toegang toestaan tot
een rdiff-back-upserver die wordt uitgevoerd met --restrict-read-only.
--alleen-lezen beperken pad
Like --beperken, maar weiger ook alle schrijfverzoeken.
--alleen-update-beperken pad
Like --beperken, maar sta schrijfbewerkingen alleen toe als onderdeel van een incrementele back-up. Verzoeken
voor andere typen schrijfbewerkingen (bijvoorbeeld verwijderen pad) wordt afgewezen.
--server
Ga naar de servermodus (niet direct aanroepen, maar in plaats daarvan door een andere rdiff-
back-upproces op een externe computer).
--ssh-geen-compressie
Gebruik bij het uitvoeren van ssh de optie -C niet om compressie in te schakelen. --ssh-nee-
samendrukking wordt genegeerd als u een nieuw schema opgeeft met --remote-schema.
--tempdir pad
Stelt de map die rdiff-backup gebruikt voor tijdelijke bestanden in op het opgegeven pad.
De omgevingsvariabelen TMPDIR, TEMP en TMP kunnen ook worden gebruikt om de
tijdelijke bestanden directory. Zie de documentatie van de Python-tempfile-module voor:
meer informatie.
--terminal-breedsprakigheid [0-9]
Selecteer welke berichten op de terminal worden weergegeven. Als het niveau ontbreekt
standaard ingesteld op het breedsprakigheidsniveau.
--testserver
Test op de aanwezigheid van een compatibele rdiff-back-upserver zoals gespecificeerd in de
volgende host::bestandsnaam argument(en). De sectie bestandsnaam wordt genegeerd.
--user-mapping-bestand bestandsnaam
Wijs gebruikersnamen en ID's toe volgens het gebruikerstoewijzingsbestand bestandsnaam. Zie het GEBRUIKERS
EN GROEPEN sectie voor meer informatie.
-v[0-9], --breedsprakigheid [0-9]
Specificeer het breedsprakigheidsniveau (0 is volledig stil, 3 is de standaard en 9 is het meest luidruchtig).
Dit bepaalt hoeveel er naar het logbestand wordt geschreven.
--verifiëren
Dit is een afkorting voor --verifiëren-op-tijd nu
--verifiëren-op-tijd nu
Controleer alle gegevens in de repository op het gegeven moment door de SHA1-hash . te berekenen
van alle reguliere bestanden en deze te vergelijken met de hashes die zijn opgeslagen in de metadata
bestand.
-V, --versie
Druk de huidige versie af en sluit af
HERSTELLEN
Er zijn twee manieren om rdiff-backup te vertellen om een bestand of directory te herstellen. Ten eerste kunt u
voer rdiff-backup uit op een spiegelbestand en gebruik de -r or --herstel-als-van opties. Ten tweede,
u kunt het uitvoeren op een increment-bestand.
Stel bijvoorbeeld dat u in het verleden het volgende hebt uitgevoerd:
rdiff-back-up / usr /usr.backup
om een back-up te maken van de / usr directory in de /usr.backup directory, en wil nu een kopie van de
/ Usr / local directory zoals het 3 dagen geleden was geplaatst op /usr/local.old.
Een manier om dit te doen is door het volgende uit te voeren:
rdiff-backup -r 3D /usr.backup/local /usr/local.old
waar boven de "3D" 3 dagen betekent (voor andere manieren om de tijd op te geven, zie de TIJD
FORMATS sectie). De /usr.backup/local map is geselecteerd, want dat is de
map met de huidige versie van /usr/local.
Merk op dat de optie om --herstel-als-van geeft altijd een exacte tijd aan. (Dus "3D" verwijst
tot het moment 72 uur voor het heden.) Als er op dat moment geen back-up werd gemaakt,
rdiff-backup herstelt de staat die is vastgelegd voor de vorige back-up. Bijvoorbeeld in de
bovenstaand geval, als "3D" wordt gebruikt en er alleen back-ups zijn van 2 dagen en 4 dagen geleden,
/ Usr / local zoals het was 4 dagen geleden zal worden hersteld.
De tweede manier om bestanden te herstellen is het vinden van het corresponderende increment-bestand. Het
zou in de map /backup/rdiff-backup-data/increments/usr staan, en de naam zou zijn
zoiets als "local.2002-11-09T12:43:53-04:00.dir" waar de tijd aangeeft dat het van 3 is
dagen geleden. Merk op dat de increment-bestanden allemaal eindigen op ".diff", ".snapshot", ".dir", of
".missing", waarbij ".missing" gewoon betekent dat het bestand op dat moment niet bestond (eindelijk,
sommige hiervan kunnen gzip-gecomprimeerd zijn en hebben een extra ".gz" om dit aan te geven). Dan
running:
rdiff-backup /backup/rdiff-backup-data/increments/usr/local. .dir
/usr/local.oud
zou ook het bestand naar wens herstellen.
Als u niet precies weet welke versie van een bestand u nodig heeft, is het waarschijnlijk het gemakkelijkst om:
ofwel herstellen vanuit de increments-bestanden zoals hierboven beschreven, of om te zien welke
incrementen zijn beschikbaar met -l/--list-increments, en specificeer vervolgens exacte tijden in
-r/--herstel-als-van.
TIJD FORMATS
rdiff-backup gebruikt op twee plaatsen tijdreeksen. Ten eerste, alle increment-bestanden rdiff-
backup-creators hebben de tijd in hun bestandsnamen in het w3 datetime-formaat als
beschreven in een w3-notitie bij http://www.w3.org/TR/NOTE-datetime. In principe zien ze eruit als
"2001-07-15T04:09:38-07:00", wat betekent hoe het eruit ziet. De sectie "-07:00" betekent:
de tijdzone is 7 uur achter UTC.
Ten tweede, de -r, --herstel-als-van, en --verwijder-ouder-dan- opties nemen een tijdreeks in beslag,
die kan worden gegeven in een van de verschillende formaten:
1. de string "nu" (verwijst naar de huidige tijd)
2. een reeks cijfers, zoals "123456890" (geeft de tijd in seconden aan na de
tijdperk)
3. Een string zoals "2002-01-25T07:00:00+02:00" in datetime-formaat
4. Een interval, dat een getal is gevolgd door een van de tekens s, m, h, D, W, M,
of Y (geeft seconden, minuten, uren, dagen, weken, maanden of jaren aan)
respectievelijk), of een reeks van dergelijke paren. In dit geval verwijst de string naar de
tijd die voorafgaat aan de huidige tijd met de lengte van het interval. Bijvoorbeeld,
"1h78m" geeft de tijd aan die een uur en 78 minuten geleden was. De kalender hier
is ongekunsteld: een maand is altijd 30 dagen, een jaar is altijd 365 dagen en een dag
is altijd 86400 seconden.
5. Een datumnotatie in de vorm JJJJ/MM/DD, JJJJ-MM-DD, MM/DD/JJJJ of MM-DD-JJJJ, die
geeft middernacht aan op de betreffende dag, relatief ten opzichte van de huidige tijdzone
instellingen. Bijvoorbeeld, "2002/3/5", "03-05-2002" en "2002-3-05" betekenen allemaal maart
5th, 2002.
6. Een specificatie van een back-upsessie die een niet-negatief geheel getal is gevolgd door 'B'.
Bijvoorbeeld, '0B' specificeert de tijd van de huidige spiegel, en '3B' specificeert de
tijd van de 3e nieuwste verhoging.
AFSTAND OPERATIE
Om toegang te krijgen tot externe bestanden, opent rdiff-backup een pijp naar een kopie van rdiff-backup
draaien op de externe machine. Dus rdiff-backup moet aan beide kanten worden geïnstalleerd. Openen
deze pijp splitst rdiff-backup eerst de bestandsnaam in host_info::padnaam. Het dan
vervangt host_info in het externe schema en voert de resulterende opdracht uit, waarbij de wordt gelezen
input en output.
Het standaard externe schema is 'ssh -C %s rdiff-backup --server' waarbij host_info is
vervangen door '%s'. Dus als de host_info is [e-mail beveiligd], dan voert rdiff-backup 'ssh . uit
[e-mail beveiligd] rdiff-backup --server'. Met --remote-schema kan rdiff-backup een
willekeurig commando om een externe pijp te openen. Bijvoorbeeld,
rdiff-backup --remote-schema 'cd / usr; %s' foo 'rdiff-backup --server'::bar
is in principe gelijk aan (maar langzamer dan)
rdiff-back-up foo /usr/bar
Wat betreft citeren, als je om wat voor reden dan ook twee opeenvolgende dubbele punten in de moet zetten
host_info sectie van een host_info::padnaam argument, of in de padnaam van een lokaal bestand,
je kunt er een citeren door een backslash voor te zetten. Dus in 'a\::b::c', host_info is
'a::b' en de padnaam is 'c'. Evenzo, als u wilt verwijzen naar een lokaal bestand waarvan de
bestandsnaam bevat twee opeenvolgende dubbele punten, zoals 'strange::file', je moet er een citeren
van de dubbele punten zoals in 'strange\::file'. Omdat de backslash hierin een aanhalingsteken is
omstandigheden, moet het ook worden geciteerd om een letterlijke backslash te krijgen, dus 'foo\::\\bar'
evalueert tot 'foo::\bar'. Om het nog ingewikkelder te maken, want de backslash is ook
een veelgebruikt shell-aanhalingsteken, moet u mogelijk '\\\\' typen bij de shell-prompt om
krijg een letterlijke backslash (als je je er beter door voelt, moest ik 8 backslashes typen om)
haal dat in deze man-pagina...). En tot slot, om een letterlijk % in de string op te nemen
gespecificeerd door --remote-schema, citeer het met een ander %, zoals in %%.
Hoewel ssh zelf veilig kan zijn, biedt het gebruik van rdiff-backup op de standaardmanier een aantal
veiligheidsrisico's. Als de server bijvoorbeeld als root wordt uitgevoerd, kan een aanvaller die
gecompromitteerd, kan de client rdiff-backup gebruiken om willekeurige serverbestanden te overschrijven door:
"back-up" over hen heen. Zo'n setup kan veiliger gemaakt worden door de sshd . te gebruiken
configuratie optie: command="rdiff-back-up" --server" eventueel samen met de --beperken*
opties voor rdiff-back-up. Zie voor meer informatie de webpagina, de wiki en de
inzendingen voor de --beperken* opties op deze man-pagina.
FILE SELECTIE
rdiff-back-up heeft een aantal opties voor bestandsselectie. Wanneer rdiff-backup wordt uitgevoerd, is het
doorzoekt de opgegeven bronmap en maakt een back-up van alle bestanden die overeenkomen met de
gespecificeerde opties. Dit selectiesysteem lijkt misschien ingewikkeld, maar dat is het ook
flexibel en gebruiksvriendelijk. Als je alleen de basis wilt leren, kijk dan eerst naar de
selectievoorbeelden in het bestand voorbeelden.html in het pakket, of op het web op
http://rdiff-backup.nongnu.org/examples.html
rdiff-back-up's selectiesysteem is oorspronkelijk geïnspireerd op: rsync(1), maar er zijn er veel
verschillen. (Backslashes achteraan hebben bijvoorbeeld geen speciale betekenis.)
Het bestandsselectiesysteem omvat een aantal voorwaarden voor bestandsselectie, die zijn ingesteld
met een van de volgende opdrachtregelopties: --uitsluiten, --exclusief-bestandslijst, --uitsluiten-
apparaat-bestanden, --exclusief-fifos, --exclusief-sockets, --exclusief-symbolische-links, --uitsluiten-
globbing-bestandslijst, --exclude-globbing-bestandslijst-stdin, --exclude-bestandslijst-stdin, --uitsluiten-
regexp, --exclusief-speciale-bestanden, --erbij betrekken, --include-bestandslijst, --inclusief-globbing-
bestandslijst, --include-globbing-bestandslijst-stdin, --include-bestandslijst-stdin en --erbij betrekken-
regexp. Elke voorwaarde voor bestandsselectie komt wel of niet overeen met een bepaald bestand. EEN
gegeven bestand wordt uitgesloten door het bestandsselectiesysteem precies wanneer het eerste overeenkomende bestand
selectievoorwaarde geeft aan dat het bestand moet worden uitgesloten; anders is het bestand inbegrepen.
Als bij het maken van een back-up een bestand is uitgesloten, werkt rdiff-backup alsof dat bestand niet bestaat
in de bronmap. Bij het terugzetten wordt een uitgesloten bestand geacht niet te bestaan in
ofwel de bron- of doeldirectory's.
Bijvoorbeeld,
rdiff-back-up --include / usr --uitsluiten / usr / usr / backup
is precies hetzelfde als
rdiff-back-up / usr / backup
omdat de instructies voor opnemen en uitsluiten exact overeenkomen met dezelfde bestanden, en de --erbij betrekken
komt op de eerste plaats en geeft het voorrang. evenzo,
rdiff-back-up --include / Usr / local / bin --uitsluiten / Usr / local / usr / backup
zou een back-up maken van de / Usr / local / bin directory (en de inhoud ervan), maar niet /usr/local/doc.
De omvatten, uitsluiten, inclusief-globbing-bestandslijst en uitsluiten-globbing-bestandslijst opties
accepteren uitgebreid schelp kwijlen patronen. Deze patronen kunnen de speciale patronen bevatten
*, **, ? en [...]. Net als bij een normale schil, * kan worden uitgebreid tot elke tekenreeks
zonder "/", ? breidt uit naar elk teken behalve "/", en [...] breidt uit tot een enkele
karakter van de gespecificeerde karakters (bereiken zijn acceptabel). Het nieuwe speciale patroon,
**, breidt uit naar elke tekenreeks, ongeacht of deze "/" bevat. Verder, als
het patroon begint met "ignorecase:" (hoofdlettergevoelig), daarna wordt dit voorvoegsel verwijderd
en elk teken in de tekenreeks kan worden vervangen door een versie in hoofdletters of kleine letters van
zelf.
Als u bestandsnamen moet matchen die de bovenstaande globbing-tekens bevatten, kunnen ze:
ontsnapt met een backslash "\". De backslash zal alleen ontsnappen aan het teken dat erop volgt
dus voor ** u moet "\*\*" gebruiken om te voorkomen dat u naar de * globaal karakter.
Onthoud dat u deze tekens mogelijk moet citeren wanneer u ze in een shell typt, dus de
shell interpreteert de globbing-patronen niet voordat rdiff-backup ze ziet.
De --uitsluiten patroon optie komt overeen met een bestand iff:
1. patroon kan worden uitgebreid in de bestandsnaam van het bestand, of
2. het bestand bevindt zich in een map die overeenkomt met de optie.
Omgekeerd, --erbij betrekken patroon komt overeen met een bestand iff:
1. patroon kan worden uitgebreid tot de bestandsnaam van het bestand,
2. het bestand bevindt zich in een map die overeenkomt met de optie, of
3. het bestand is een map die een bestand bevat dat overeenkomt met de optie.
Bijvoorbeeld
--uitsluiten / Usr / local
lucifers / Usr / local, / Usr / local / lib, en /usr/local/lib/netscape. Het is hetzelfde als
--uitsluiten / Usr / local --uitsluiten '/ usr / local /**'.
--erbij betrekken / Usr / local
specificeert dat / usr, / Usr / local, / Usr / local / lib, en /usr/local/lib/netscape (maar niet
/usr/doc) worden allemaal geback-upt. U hoeft zich dus geen zorgen te maken over het opnemen van ouder
mappen om er zeker van te zijn dat de opgenomen submappen ergens heen kunnen. Eindelijk,
--erbij betrekken negeer zaak:'/ usr /[a-z0-9]foo/*/**.py'
zou overeenkomen met een bestand als /usR/5fOO/hello/there/world.py. Als het iets overeenkwam, is het
zou ook overeenkomen met /usr. Als er geen bestaand bestand is dat het gegeven patroon kan zijn
uitgebreid naar, komt de optie niet overeen met /usr.
De --include-bestandslijst, --exclusief-bestandslijst, --include-bestandslijst-stdin en --uitsluiten-
bestandslijst-stdin opties introduceren ook voorwaarden voor bestandsselectie. Ze sturen rdiff-back-up
om een bestand in te lezen, waarvan elke regel een bestandsspecificatie is, en om op te nemen of uit te sluiten
de overeenkomende bestanden. Regels worden gescheiden door nieuwe regels of nulls, afhankelijk van of de
--null-separator-schakelaar is gegeven. Elke regel in een bestandslijst wordt op dezelfde manier geïnterpreteerd als:
zoals uitgebreid schelp patronen zijn, op enkele uitzonderingen na:
1. Globbing patronen zoals *, **, ? en [...] zijn niet uitgebreid.
2. Inclusief patronen komen niet overeen met bestanden in een map die is opgenomen. Dus / Usr / local
in een include-bestand komt niet overeen met /usr/local/doc.
3. Regels die beginnen met "+ " worden geïnterpreteerd als include-richtlijnen, zelfs als ze worden gevonden in a
bestandslijst waarnaar wordt verwezen door --exclusief-bestandslijst. Evenzo, regels die beginnen met "- "
sluit bestanden uit, zelfs als ze worden gevonden in een lijst met opgenomen bestanden.
Als het bestand "list.txt" bijvoorbeeld de volgende regels bevat:
/ Usr / local
- /usr/lokaal/doc
/ Usr / local / bin
+ / var
- / var
dan zou "--include-filelist list.txt" include / usr, / Usr / local, en /usr/local/bin. Het
zou /usr/local/doc, /usr/local/doc/python, etc. uitsluiten. Het sluit noch uit, noch
omvat / usr / local / man, het lot van deze map overlatend aan de volgende specificatie
voorwaarde. Ten slotte is het ongedefinieerd wat er gebeurt met /var. Een enkele bestandslijst zou moeten
geen conflicterende bestandsspecificaties bevatten.
De --include-globbing-bestandslijst en --exclusief-globbing-bestandslijst opties specificeren ook
bestandslijsten, maar elke regel in de bestandslijst wordt geïnterpreteerd als een globaal patroon
--erbij betrekken en --uitsluiten opties worden geïnterpreteerd (hoewel de voorvoegsels "+" en "- " nog steeds zijn)
toegestaan). Als het bestand "globbing-list.txt" bijvoorbeeld de volgende regels bevat:
dir/foo
+ richt/bar
- **
Dan zou "--include-globbing-filelist globbing-list.txt" precies hetzelfde zijn als
specificeren van "--include dir/foo --include dir/bar --exclude **" op de opdrachtregel.
Ten slotte --include-regexp en --exclusief-regexp toestaan dat bestanden worden opgenomen en uitgesloten
als hun bestandsnamen overeenkomen met een reguliere expressie van Python. De syntaxis van reguliere expressies is ook
ingewikkeld om hier uit te leggen, maar wordt behandeld in de bibliotheekreferentie van Python. In tegenstelling tot de
--erbij betrekken en --uitsluiten opties, de reguliere expressie-opties komen niet overeen met bestanden
bevattende of opgenomen in overeenkomende bestanden. Dus bijvoorbeeld
--include '[0-9]{7}(?!foo)'
komt overeen met alle bestanden waarvan de volledige padnamen 7 opeenvolgende cijfers bevatten die niet worden gevolgd
door 'foo'. Het zou echter niet overeenkomen / Home zelfs als /home/ben/1234567 bestond.
GEBRUIKERS EN GROEPEN
Er kunnen complicaties optreden bij het behoud van eigendom tussen systemen. Bijvoorbeeld de gebruikersnaam
die eigenaar is van een bestand op het bronsysteem, bestaat mogelijk niet op de bestemming. Hier is hoe
rdiff-backup wijst eigendom van de bron toe aan de bestemming (of omgekeerd, in het geval)
van herstellen):
1. Als de optie --preserve-numerical-ids is opgegeven, hebben de externe bestanden altijd:
dezelfde uid en gid, zowel voor eigendom als ACL-vermeldingen. Dit kan unames veroorzaken
en gnamen te veranderen.
2. Probeer anders de gebruikers- en groepsnamen te behouden voor eigendom en in ACL's.
Dit kan ertoe leiden dat bestanden verschillende uid's en gidsen hebben op verschillende systemen.
3. Als een naam niet kan worden bewaard (bijvoorbeeld omdat de gebruikersnaam niet bestaat), bewaar
de originele id, maar alleen in gevallen van gebruikers- en groepseigendom. Voor ACL's, laat elke weg
vermelding met een onjuiste gebruikers- of groepsnaam.
4. De --user-mapping-bestand en --groepstoewijzingsbestand opties overschrijven dit gedrag.
Als een van deze opties wordt gegeven, is het beleid beschreven in 2 en 3 hierboven:
gevolgd, maar met de toegewezen gebruiker en groep in plaats van het origineel. als jij
specificeer beide --bewaar-numerieke-id's en een van de toewijzingsopties, het gedrag
is niet gedefinieerd.
De gebruikers- en groepstoewijzingsbestanden hebben beide dezelfde vorm:
oude_naam_of_id1:nieuwe_naam_of_id1
oude_naam_of_id2:nieuwe_naam_of_id2
Elke regel moet een naam of id bevatten, gevolgd door een dubbele punt ":", gevolgd door een andere naam
of idd. Als een naam of id niet wordt vermeld, worden deze behandeld op de standaard beschreven manier
bovenstaand.
Bij het herstellen wordt het bovenstaande gedrag ook gevolgd, maar houd er rekening mee dat de oorspronkelijke bron
gebruikers-/groepsinformatie zal de invoer zijn, niet de reeds toegewezen gebruikers-/groepsinformatie
aanwezig in de back-uprepository. Stel dat u bijvoorbeeld alle bestanden hebt toegewezen
eigendom van alice in de bron zodat ze eigendom zijn van ben in de repository, en nu jij
wilt herstellen, waarbij u ervoor zorgt dat de bestanden die oorspronkelijk eigendom waren van alice zijn nog steeds eigendom van alice.
In dit geval is het niet nodig om een van de toewijzingsopties te gebruiken. Echter, als je wilde
om de bestanden te herstellen zodat de bestanden die oorspronkelijk eigendom waren van alice op de bron zijn nu
eigendom van ben, zou u de kaartopties moeten gebruiken, ook al wilt u alleen de
unamen van de bestanden van de repository bewaard in de herstelde bestanden.
STATISTIEKEN
Elke sessie rdiff-back-up slaat verschillende statistieken op in twee bestanden, de sessiestatistieken
bestand op rdiff-backup-data/session_statistics. .data en het bestand met directorystatistieken
op rdiff-backup-data/directory_statistics. .gegevens. Het zijn beide tekstbestanden en
soortgelijke informatie bevatten: hoeveel bestanden zijn gewijzigd, hoeveel zijn verwijderd, de totale grootte
van gecreëerde incrementbestanden, enz. Het bestand met sessiestatistieken is echter bedoeld om
zeer leesbaar en beschrijft alleen de sessie als geheel. Het bestand met directorystatistieken is:
compacter (en iets minder leesbaar) maar beschrijft elke directory waarvan een back-up is gemaakt. Het
kan ook worden gecomprimeerd om ruimte te besparen.
Statistiek-gerelateerde opties omvatten: --afdrukstatistieken en --null-scheidingsteken.
Ook zal rdiff-backup verschillende berichten opslaan in het logbestand, dat is rdiff-backup-
data/backup.log voor back-upsessies en rdiff-backup-data/restore.log voor herstel
sessies. Over het algemeen zal wat naar dit bestand wordt geschreven samenvallen met de berichten
weergegeven naar stdout of stderr, hoewel dit kan worden gewijzigd met de --terminal-breedsprakigheid
optie.
Het logbestand is niet gecomprimeerd en kan behoorlijk groot worden als rdiff-backup wordt uitgevoerd met high
breedsprakigheid.
EXIT STATUS
Als rdiff-back-up met succes is voltooid, is de exit-status 0. Als er een
onherstelbare (kritieke) fout, deze zal niet nul zijn (meestal 1, maar ben hier niet afhankelijk van
bepaalde waarde). Bij het instellen van rdiff-backup om automatisch te draaien (vanaf cron(8) of
vergelijkbaar) is het waarschijnlijk een goed idee om de afsluitcode te controleren.
Gebruik rdiff-back-up online met onworks.net-services