rdiff-backup - Għodda ta' Backup Inkrementali Remote għal Linux
rdiff-backup huwa skript Python b'saħħtu u faċli biex jintuża għal backup inkrementali lokali/remot, li jaħdem fuq kwalunkwe sistema operattiva POSIX bħal Linux, Mac OS X jew Cygwin. Jiġbor flimkien il-karatteristiċi notevoli ta 'mera u backup inkrementali.
B'mod sinifikanti, tippreserva subdirectories, dev files, hard links, u attributi kritiċi tal-fajl bħal permessi, sjieda uid/gid, ħinijiet ta 'modifika, attributi estiżi, acls, u frieket tar-riżorsi. Jista 'jaħdem f'modalità effiċjenti fil-bandwidth fuq pajp, b'mod simili bħall-għodda popolari ta' backup rsync.
rdiff-backup jappoġġa direttorju wieħed għal ieħor fuq netwerk bl-użu ta 'SSH, li jimplika li t-trasferiment tad-dejta huwa encrypted b'hekk sikur. Id-direttorju fil-mira (fuq is-sistema remota) jispiċċa kopja eżatta tad-direttorju tas-sors, madankollu diffs reverse żejda huma maħżuna f'subdirettorju speċjali fid-direttorju fil-mira, li jagħmilha possibbli li jiġu rkuprati fajls mitlufa xi żmien ilu.
Biex tuża rdiff-backup fil-Linux, ikollok bżonn il-pakketti li ġejjin installati fis-sistema tiegħek:
- Python v2.2 jew aktar tard
- librsync v0.9.7 jew aktar tard
- Il-moduli pylibacl u pyxattr Python huma fakultattivi iżda meħtieġa għal-lista ta' kontroll ta' aċċess POSIX (ACL) u appoġġ ta' attribut estiż rispettivament.
- rdiff-backup-statistics teħtieġ Python v2.4 jew aktar tard.
Kif Tinstalla rdiff-backup fil-Linux
Importanti: Jekk qed topera fuq netwerk, ikollok tinstalla ż-żewġ sistemi rdiff-backup, preferibbilment iż-żewġ installazzjonijiet ta 'rdiff-backup se jkollhom ikunu eżattament l-istess verżjoni.
L-iskrittura hija diġà preżenti fir-repożitorji uffiċjali tad-distribuzzjonijiet mainstream tal-Linux, sempliċement ħaddem il-kmand hawn taħt biex tinstalla rdiff-backup kif ukoll id-dipendenzi tiegħu:
Biex tinstalla Rdiff-Backup fuq Ubuntu Focal jew Debian Bullseye jew aktar ġodda (għandha 2.0).
$ sudo apt-get update $ sudo apt-get install librsync-dev rdiff-backup
Biex tinstalla Rdiff-Backup fuq backports Ubuntu għal verżjonijiet eqdem (jeħtieġ backported 2.0).
$ sudo add-apt-repository ppa:rdiff-backup/rdiff-backup-backports $ sudo apt update $ sudo apt install rdiff-backu
Biex tinstalla Rdiff-Backup fuq CentOS u RHEL 8 (minn COPR).
$ sudo yum install yum-plugin-copr epel-release $ sudo yum copr enable frankcrawford/rdiff-backup $ sudo yum install rdiff-backup
Biex tinstalla Rdiff-Backup fuq CentOS u RHEL 7 (minn COPR).
$ sudo yum install yum-plugin-copr epel-release $ sudo yum copr enable frankcrawford/rdiff-backup $ sudo yum install rdiff-backup
$ 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 "[email "' | sudo tee /usr/bin/rdiff-backup $ sudo chmod +x /usr/bin/rdiff-backup
Biex tinstalla Rdiff-Backup fuq Fedora 32+.
$ sudo dnf install rdiff-backup
Kif tuża rdiff-backup fil-Linux
Kif semmejt qabel, rdiff-backup juża SSH biex jgħaqqad ma 'magni remoti fuq in-netwerk tiegħek, u l-awtentikazzjoni default f'SSH hija l-metodu username/password, li normalment teħtieġ interazzjoni umana.
Madankollu, biex awtomat kompiti bħal backups awtomatiċi bi skripts u lil hinn, ser ikollok bżonn tikkonfigura sinkronizzazzjoni jew trasferiment faċli tal-fajl.
Ladarba tkun issettjajt SSH Passwordless Login, tista 'tibda tuża l-iskrittura bl-eżempji li ġejjin.
L-eżempju hawn taħt se jagħmel backup tad-direttorju /etc
f'direttorju tal-Backup fuq partizzjoni oħra:
$ sudo rdiff-backup /etc /media/aaronkilik/Data/Backup/mint_etc.backup
Biex teskludi direttorju partikolari kif ukoll is-subdirettorji tiegħu, tista' tuża l-għażla --exclude
kif ġej:
$ sudo rdiff-backup --exclude /etc/cockpit --exclude /etc/bluetooth /media/aaronkilik/Data/Backup/mint_etc.backup
Nistgħu ninkludu l-fajls kollha tat-tagħmir, il-fajls fifo, il-fajls tas-socket, u l-links simboliċi bl-għażla --include-special-files
kif hawn taħt:
$ sudo rdiff-backup --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup
Hemm żewġ bnadar importanti oħra li nistgħu nissettjaw għall-għażla tal-fajl; --max-file-size
daqs li jeskludi fajls li huma akbar mid-daqs mogħti f'bytes u --min-file-size
daqs li jeskludi fajls li huma iżgħar minn id-daqs mogħti f'bytes:
$ sudo rdiff-backup --max-file-size 5M --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup
Għall-iskop ta’ din it-taqsima, aħna ser nużaw:
Remote Server (tecmint) : 192.168.56.102 Local Backup Server (backup) : 192.168.56.10
Kif iddikjarajna qabel, trid tinstalla l-istess verżjoni ta 'rdiff-backup fuq iż-żewġ magni, issa ipprova tivverifika l-verżjoni fuq iż-żewġ magni kif ġej:
$ rdiff-backup -V
Fuq is-server tal-backup, oħloq direttorju li jaħżen il-fajls tal-backup hekk:
# mkdir -p /backups
Issa mis-server tal-backup, mexxi l-kmandi li ġejjin biex tagħmel backup tad-direttorji /var/log/
u /root
minn server Linux remot 192.168.56.102 f'/ backups
:
# rdiff-backup [email ::/var/log/ /backups/192.168.56.102_logs.backup # rdiff-backup [email ::/root/ /backups/192.168.56.102_rootfiles.backup
Il-screenshot t'hawn taħt turi l-fajl tal-għeruq fuq is-server remot 192.168.56.102 u l-fajls ta' backup fuq is-server ta' wara 192.168.56.10:
Ħu nota tad-direttorju rdiff-backup-data maħluq fid-direttorju backup
kif jidher fil-screenshot, fih dejta vitali dwar il-proċess tal-backup u fajls inkrementali.
Issa, fuq is-server 192.168.56.102, fajls addizzjonali ġew miżjuda mad-direttorju tal-għeruq kif muri hawn taħt:
Ejja nħaddmu l-kmand tal-backup għal darba oħra biex niksbu d-dejta mibdula, nistgħu nużaw l-għażla -v[0-9]
(fejn in-numru jispeċifika l-livell ta’ verbosità, default huwa 3 li huwa sieket) issettja l-karatteristika ta’ verbosity:
# rdiff-backup -v4 [email ::/root/ /backups/192.168.56.102_rootfiles.backup
U biex telenka n-numru u d-data tal-backups inkrementali parzjali li jinsabu fid-direttorju /backups/192.168.56.102_rootfiles.backup, nistgħu nħaddmu:
# rdiff-backup -l /backups/192.168.56.102_rootfiles.backup/
Nistgħu nipprintjaw statistika fil-qosor wara backup b'suċċess bil---print-statistics
. Madankollu, jekk ma nissettjawx din l-għażla, l-informazzjoni xorta tkun disponibbli mill-fajl tal-istatistika tas-sessjoni. Aqra aktar dwar din l-għażla fit-taqsima STATISTIKA tal-paġna man.
U l-bandiera –remote-schema tippermettilna nispeċifikaw metodu alternattiv ta' konnessjoni ma' kompjuter remot.
Issa, ejja nibdew billi noħolqu skript backup.sh
fuq is-server tal-backup 192.168.56.10 kif ġej:
# cd ~/bin # vi backup.sh
Żid il-linji li ġejjin mal-fajl tal-iskrittura.
#!/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
Issejvja l-fajl u oħroġ, imbagħad mexxi l-kmand li ġej biex iżżid l-iskrittura mal-crontab fuq is-server tal-backup 192.168.56.10:
# crontab -e
Żid din il-linja biex tħaddem l-iscript tal-backup tiegħek kuljum f'nofsillejl:
0 0 * * * /root/bin/backup.sh > /dev/null 2>&1
Issejvja l-crontab u agħlaqha, issa rnexxielna awtomatizzat il-proċess tal-backup. Kun żgur li qed taħdem kif mistenni.
Aqra l-paġna man rdiff-backup għal informazzjoni addizzjonali, għażliet ta’ użu eżawrjenti u eżempji:
# man rdiff-backup
Homepage rdiff-backup: http://www.nongnu.org/rdiff-backup/
Dak hu għalissa! F'dan it-tutorja, wrejnek kif tinstalla u bażikament tuża rdiff-backup, script Python faċli biex tużah għal backup inkrementali lokali/remot fil-Linux. Aqsam il-ħsibijiet tiegħek magħna permezz tat-taqsima tal-feedback hawn taħt.