rdiff-backup - Remote Incremental Backup Tool Linuxille
rdiff-backup on tehokas ja helppokäyttöinen Python-skripti paikalliseen/etä-inkrementaaliseen varmuuskopiointiin, joka toimii kaikissa POSIX-käyttöjärjestelmissä, kuten Linuxissa, Mac OS X:ssä tai Cygwinissä. Se yhdistää peilin ja inkrementaalisen varmuuskopion merkittävät ominaisuudet.
Merkittävää on, että se säilyttää alihakemistot, dev-tiedostot, kovat linkit ja tärkeät tiedostoattribuutit, kuten käyttöoikeudet, uid/gid-omistuksen, muokkausajat, laajennetut attribuutit, ACL:t ja resurssihaarukat. Se voi toimia kaistanleveyttä säästävässä tilassa putken yli, samalla tavalla kuin suosittu rsync-varmuuskopiointityökalu.
rdiff-backup varmuuskopioi yhden hakemiston toiseen hakemistoon verkon kautta SSH:n avulla, mikä tarkoittaa, että tiedonsiirto on salattu ja siten turvallinen. Kohdehakemisto (etäjärjestelmässä) muodostaa tarkan kopion lähdehakemistosta, mutta ylimääräiset käänteiset erot tallennetaan kohdehakemiston erityiseen alihakemistoon, mikä mahdollistaa jonkin aikaa sitten kadonneiden tiedostojen palauttamisen.
Riippuvuudet
Jotta voit käyttää rdiff-varmuuskopiointia Linuxissa, sinun on asennettava järjestelmääsi seuraavat paketit:
- Python v2.2 tai uudempi
- librsync v0.9.7 tai uudempi
- pylibacl ja pyxattr Python-moduulit ovat valinnaisia, mutta välttämättömiä POSIX Access Control List (ACL) ja laajennetun attribuuttien tuessa.
- rdiff-backup-statistics vaatii Python v2.4:n tai uudemman.
Kuinka asentaa rdiff-varmuuskopio Linuxiin
Tärkeää: jos käytät verkkoa, sinun on asennettava rdiff-backup molemmat järjestelmät, mieluiten molempien rdiff-backup-asennusten on oltava täsmälleen sama versio.
Komentosarja on jo olemassa yleisten Linux-jakelujen virallisissa arkistoissa. Suorita alla oleva komento asentaaksesi rdiff-varmuuskopion sekä sen riippuvuudet:
Asenna rdiff-varmuuskopio Ubuntuun
Asenna Rdiff-Backup Ubuntu Focaliin tai Debian Bullseyeen tai uudempaan (sillä on 2.0).
sudo apt-get update
sudo apt-get install librsync-dev rdiff-backup
Asenna Rdiff-Backup Ubuntun taustaportteihin vanhemmille versioille (vaatii backported 2.0:n).
sudo add-apt-repository ppa:rdiff-backup/rdiff-backup-backports
sudo apt update
sudo apt install rdiff-backu
CentOS/RHEL 8:ssa
Rdiff-Backupin asentaminen CentOS:ään ja RHEL 8:aan (COPR:lta).
sudo yum install yum-plugin-copr epel-release
sudo yum copr enable frankcrawford/rdiff-backup
sudo yum install rdiff-backup
CentOS/RHEL 7:ssä
Rdiff-Backupin asentaminen CentOS:ään ja RHEL 7:ään (COPR:lta).
sudo yum install yum-plugin-copr epel-release
sudo yum copr enable frankcrawford/rdiff-backup
sudo yum install rdiff-backup
CentOS/RHEL 6:ssa
sudo yum install centos-release-scl
sudo yum install rh-python36 gcc libacl-devel
scl enable rh-python36 bash
sudo pip install rdiff-backup pyxattr pylibacl
echo 'exec scl enable rh-python36 -- rdiff-backup "$@"' | sudo tee /usr/bin/rdiff-backup
sudo chmod +x /usr/bin/rdiff-backup
Fedorassa
Rdiff-Backupin asentaminen Fedora 32+ -versioon.
sudo dnf install rdiff-backup
Kuinka käyttää rdiff-varmuuskopiota Linuxissa
Kuten aiemmin mainitsin, rdiff-backup käyttää SSH:ta yhteyden muodostamiseen verkon etäkoneisiin, ja SSH:n oletustodennus on käyttäjätunnus/salasana-menetelmä, joka vaatii tavallisesti ihmisen vuorovaikutusta.
Kuitenkin, jos haluat automatisoida tehtäviä, kuten automaattisen varmuuskopioinnin komentosarjoilla ja muilla, sinun on määritettävä SSH-salasanaton sisäänkirjautuminen SSH-avaimilla, koska SSH-avaimet lisäävät kahden Linux-palvelimen välistä luottamusta tiedostojen synkronoinnin tai siirron helpottamiseksi.
Kun olet määrittänyt salasanattoman SSH-kirjautumisen, voit alkaa käyttää komentosarjaa seuraavien esimerkkien avulla.
Varmuuskopioi tiedostot eri osioon
Alla oleva esimerkki varmuuskopioi /etc
-hakemiston toisen osion Varmuuskopiointi-hakemistoon:
sudo rdiff-backup /etc /media/aaronkilik/Data/Backup/mint_etc.backup
Voit sulkea pois tietyn hakemiston ja sen alihakemistot käyttämällä --exclude
-vaihtoehtoa seuraavasti:
sudo rdiff-backup --exclude /etc/cockpit --exclude /etc/bluetooth /media/aaronkilik/Data/Backup/mint_etc.backup
Voimme sisällyttää kaikki laitetiedostot, fifo-tiedostot, socket-tiedostot ja symboliset linkit --include-special-files
-vaihtoehdolla seuraavasti:
sudo rdiff-backup --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup
On olemassa kaksi muuta tärkeää lippua, jotka voimme asettaa tiedostojen valinnassa; --max-file-size
-koko, joka ei sisällä tiedostoja, jotka ovat suurempia kuin annettu koko tavuina ja --min-file-size
-koko, joka ei sisällä tiedostot, jotka ovat pienempiä kuin annettu koko tavuina:
sudo rdiff-backup --max-file-size 5M --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup
Varmuuskopioi etätiedostot paikalliselle Linux-palvelimelle
Käytämme tätä osiota varten:
Remote Server (tecmint) : 192.168.56.102
Local Backup Server (backup) : 192.168.56.10
Kuten aiemmin totesimme, sinun on asennettava sama versio rdiff-backupista molemmille koneille. Yritä nyt tarkistaa versio molemmista koneista seuraavasti:
rdiff-backup -V
Luo varmuuskopiopalvelimelle hakemisto, joka tallentaa varmuuskopiotiedostot seuraavasti:
mkdir -p /backups
Suorita nyt varmuuskopiopalvelimelta seuraavat komennot tehdäksesi varmuuskopion hakemistoista /var/log/
ja /root
Linux-etäpalvelimesta 192.168.56.102 . hakemistossa /backups
:
rdiff-backup [email ::/var/log/ /backups/192.168.56.102_logs.backup
rdiff-backup [email ::/root/ /backups/192.168.56.102_rootfiles.backup
Alla olevassa kuvakaappauksessa näkyy etäpalvelimen juuritiedosto 192.168.56.102 ja varmuuskopioidut tiedostot takapalvelimella 192.168.56.10:
Huomaa kuvakaappauksessa näkyvä rdiff-backup-data-hakemisto, joka on luotu backup
-hakemistoon, se sisältää tärkeitä tietoja varmuuskopiointiprosessista ja lisätiedostoista.
Nyt palvelimen 192.168.56.102 juurihakemistoon on lisätty tiedostoja alla kuvatulla tavalla:
Suoritetaan varmuuskopiointikomento vielä kerran saadaksesi muuttuneet tiedot, voimme käyttää vaihtoehtoa -v[0-9]
(jossa numero määrittää sananmukaisuuden tason, oletus on 3, joka on hiljainen) aseta monisanaisuusominaisuus:
rdiff-backup -v4 [email ::/root/ /backups/192.168.56.102_rootfiles.backup
Ja luetellaksesi /backups/192.168.56.102_rootfiles.backup-hakemistossa olevien osittaisten lisävarmuuskopioiden lukumäärän ja päivämäärän, voimme suorittaa:
rdiff-backup -l /backups/192.168.56.102_rootfiles.backup/
Rdiff-back-varmuuskopioinnin automatisointi Cronin avulla
Voimme tulostaa yhteenvetotilastot onnistuneen varmuuskopioinnin jälkeen --print-statistics
-komennolla. Jos emme kuitenkaan aseta tätä vaihtoehtoa, tiedot ovat edelleen saatavilla istuntotilastotiedostosta. Lue lisää tästä vaihtoehdosta man-sivun TILASTO-osiosta.
Ja –remote-schema-lipun avulla voimme määrittää vaihtoehtoisen tavan muodostaa yhteys etätietokoneeseen.
Aloitetaan nyt luomalla backup.sh
-skripti varmuuskopiopalvelimelle 192.168.56.10 seuraavasti:
cd ~/bin
vi backup.sh
Lisää seuraavat rivit komentosarjatiedostoon.
#!/bin/bash
#This is a rdiff-backup utility backup script
#Backup command
rdiff-backup --print-statistics --remote-schema 'ssh -C %s "sudo /usr/bin/rdiff-backup --server --restrict-read-only /"' [email ::/var/logs /backups/192.168.56.102_logs.back
#Checking rdiff-backup command success/error
status=$?
if [ $status != 0 ]; then
#append error message in ~/backup.log file
echo "rdiff-backup exit Code: $status - Command Unsuccessful" >>~/backup.log;
exit 1;
fi
#Remove incremental backup files older than one month
rdiff-backup --force --remove-older-than 1M /backups/192.168.56.102_logs.back
Tallenna tiedosto ja poistu ja lisää komentosarja varmuuskopiopalvelimen crontabiin 192.168.56.10 suorittamalla seuraava komento:
crontab -e
Lisää tämä rivi suorittaaksesi varmuuskopion joka päivä keskiyöllä:
0 0 * * * /root/bin/backup.sh > /dev/null 2>&1
Tallenna crontab ja sulje se, nyt olemme onnistuneet automatisoimaan varmuuskopiointiprosessin. Varmista, että se toimii odotetulla tavalla.
Lue rdiff-backup man -sivulta lisätietoja, kattavia käyttövaihtoehtoja ja esimerkkejä:
man rdiff-backup
rdiff-backup kotisivu: http://www.nongnu.org/rdiff-backup/
Siinä se toistaiseksi! Tässä opetusohjelmassa osoitimme, kuinka voit asentaa ja periaatteessa käyttää rdiff-varmuuskopiointia, helppokäyttöistä Python-skriptiä paikalliseen/etä-inkrementaaliseen varmuuskopiointiin Linuxissa. Jaa ajatuksesi kanssamme alla olevan palauteosion kautta.