rdiff-backup - Ngwá ọrụ nkwado ndabere dịpụrụ adịpụ maka Linux
rdiff-backup bụ edemede Python dị ike ma dị mfe iji maka nkwado ndabere mpaghara/ime ime, nke na-arụ ọrụ na sistemụ arụmọrụ POSIX ọ bụla dị ka Linux, Mac OS X ma ọ bụ Cygwin. Ọ na-achịkọta atụmatụ dị ịrịba ama nke enyo na nkwado ndabere na-abawanye.
N'ụzọ dị ịrịba ama, ọ na-echekwa subdirectories, dev faịlụ, njikọ siri ike, na àgwà faịlụ dị egwu dị ka ikike, uid/nwe gid, oge mgbanwe, àgwà agbatị, acls, na ndụdụ akụrụngwa. Ọ nwere ike ịrụ ọrụ na ọnọdụ bandwidth na-arụ ọrụ nke ọma n'elu ọkpọkọ, n'otu aka ahụ dị ka ngwá ọrụ nkwado rsync na-ewu ewu.
rdiff-backup na-akwado otu ndekọ aha na onye ọzọ na netwọk site na iji SSH, na-egosi na ezoro ezo nyefe data wee chekwaa ya. Akwụkwọ ndekọ aha (na sistemụ dịpụrụ adịpụ) na-ejedebe otu akwụkwọ ndekọ aha nke isi mmalite, n'agbanyeghị na a na-echekwa ọdịiche dị iche iche na subdirectory pụrụ iche na ndekọ ndekọ aha, na-eme ka o kwe omume ị nwetaghachi faịlụ furu efu oge ụfọdụ gara aga.
Iji jiri rdiff-backup na Linux, ị ga-achọ ngwugwu ndị a arụnyere na sistemụ gị:
- Python v2.2 ma ọ bụ karịa
- librsync v0.9.7 ma ọ bụ karịa
- Pylibacl na pyxattr Python modul bụ nhọrọ mana ọ dị mkpa maka ndepụta njikwa ohere POSIX(ACL) yana nkwado àgwà agbatịkwuru n'otu n'otu.
- rdiff-backup-statistics chọrọ Python v2.4 ma ọ bụ karịa.
Otu esi etinye rdiff-backup na Linux
Ihe dị mkpa: Ọ bụrụ na ị na-arụ ọrụ na netwọkụ, ị ga-etinyerịrị rdiff-ndabere na sistemụ abụọ, ọkacha mma nrụnye rdiff-backup ga-abụrịrị otu ụdị.
Edemede a adịlarị na ebe nchekwa gọọmentị nke nkesa Linux bụ isi, mee naanị iwu dị n'okpuru iji wụnye rdiff-ndabere yana dabere na ya:
Iji tinye Rdiff-Backup na Ubuntu Focal ma ọ bụ Debian Bullseye ma ọ bụ nke ọhụrụ (nwere 2.0).
$ sudo apt-get update $ sudo apt-get install librsync-dev rdiff-backup
Iji wụnye Rdiff-Backup na Ubuntu backports maka ụdị ochie (chọrọ 2.0 azụ azụ).
$ sudo add-apt-repository ppa:rdiff-backup/rdiff-backup-backports $ sudo apt update $ sudo apt install rdiff-backu
Iji tinye Rdiff-Backup na CentOS na RHEL 8 (site na COPR).
$ sudo yum install yum-plugin-copr epel-release $ sudo yum copr enable frankcrawford/rdiff-backup $ sudo yum install rdiff-backup
Iji tinye Rdiff-Backup na CentOS na RHEL 7 (site na 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
Iji tinye Rdiff-Backup na Fedora 32+.
$ sudo dnf install rdiff-backup
Otu esi eji rdiff-backup na Linux
Dịka m kwuru na mbụ, rdiff-backup na-eji SSH jikọọ na igwe ndị dịpụrụ adịpụ na netwọk gị, yana nkwenye ndabara na SSH bụ aha njirimara/paswọọdụ, nke na-achọkarị mmekọrịta mmadụ.
Agbanyeghị, iji megharịa ọrụ dị ka nkwado ndabere na mpaghara akpaka na scripts na gafere, ị ga-achọ ịhazi mmekọrịta ma ọ bụ mbufe faịlụ dị mfe.
Ozugbo i mebere SSH Passwordless Login, ị nwere ike ịmalite iji ihe atụ ndị a malite iji edemede ahụ.
Ọmụmaatụ dị n'okpuru ga-akwado ndekọ /etc
na ndekọ ndabere na nkebi ọzọ:
$ sudo rdiff-backup /etc /media/aaronkilik/Data/Backup/mint_etc.backup
Iji wepu otu akwụkwọ ndekọ aha yana ọ bụ subdirectories, ị nwere ike iji nhọrọ -ewepu
dị ka ndị a:
$ sudo rdiff-backup --exclude /etc/cockpit --exclude /etc/bluetooth /media/aaronkilik/Data/Backup/mint_etc.backup
Anyị nwere ike ịgụnye faịlụ ngwaọrụ niile, faịlụ fifo, faịlụ sọket, na njikọ ihe atụ nwere nhọrọ --gụnyere-special-faịlụ
dị ka n'okpuru:
$ sudo rdiff-backup --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup
Enwere ọkọlọtọ abụọ dị mkpa anyị nwere ike ịtọ maka nhọrọ faịlụ; --max-file-size
nha nke na-ewepu faịlụ ndị buru ibu karịa nha enyere na bytes na -min-file-size
nha nke na-ewepu faịlụ ndị pere mpe karịa. nha enyere na bytes:
$ sudo rdiff-backup --max-file-size 5M --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup
Maka ebumnuche nke ngalaba a, anyị ga-eji:
Remote Server (tecmint) : 192.168.56.102 Local Backup Server (backup) : 192.168.56.10
Dị ka anyị kwuru na mbụ, ị ga-etinyerịrị otu ụdị nke rdiff-backup na igwe abụọ ahụ, gbalịa ugbu a ịlele ụdị na igwe abụọ ahụ dị ka ndị a:
$ rdiff-backup -V
Na nkesa ndabere, mepụta ndekọ nke ga-echekwa faịlụ ndabere dị ka nke a:
# mkdir -p /backups
Ugbu a site na ihe nkesa ndabere, mee iwu ndị a iji mee nkwado ndabere nke akwụkwọ ndekọ aha /var/log/
na /mgbọrọgwụ
site na sava Linux dịpụrụ adịpụ 192.168.56.102 na / ndabere
:
# rdiff-backup [email ::/var/log/ /backups/192.168.56.102_logs.backup # rdiff-backup [email ::/root/ /backups/192.168.56.102_rootfiles.backup
Nseta ihuenyo dị n'okpuru na-egosi faịlụ mgbọrọgwụ na sava dịpụrụ adịpụ 192.168.56.102 yana faịlụ akwadoro na sava azụ 192.168.56.10:
Rịba ama akwụkwọ ndekọ data rdiff-backup-data emebere na ndekọ ndabere
dị ka a hụrụ na nseta ihuenyo, o nwere data dị mkpa gbasara usoro ndabere yana faịlụ agbakwunyere.
Ugbu a, na sava 192.168.56.102, agbakwunyela faịlụ ndị ọzọ na ndekọ mgbọrọgwụ dị ka egosiri n'okpuru:
Ka anyị na-agba ọsọ ndabere iwu otu ugboro ọzọ iji nweta data gbanwere, anyị nwere ike iji -v[0-9]
(ebe ọnụọgụ na-akọwa ọkwa verbosity, ndabara bụ 3 nke dị jụụ) nhọrọ ka tọọ njirimara verbosity:
# rdiff-backup -v4 [email ::/root/ /backups/192.168.56.102_rootfiles.backup
Na iji depụta ọnụọgụ na ụbọchị nke nkwado ndabere na mpaghara agbakwunyere dị na /backups/192.168.56.102_rootfiles.backup ndekọ, anyị nwere ike ịgba ọsọ:
# rdiff-backup -l /backups/192.168.56.102_rootfiles.backup/
Anyị nwere ike ibipụta ọnụ ọgụgụ nchịkọta mgbe nkwado ndabere na mpaghara gara nke ọma jiri --print-statistics
. Agbanyeghị, ọ bụrụ na anyị edoghị nhọrọ a, ozi ahụ ka ga-adị na faịlụ ọnụ ọgụgụ nnọkọ. Gụkwuo gbasara nhọrọ a na ngalaba Statistics nke ibe nwoke.
Ọkọlọtọ –remote-schema na-enyere anyị aka ịkọwapụta usoro ọzọ nke ijikọ na kọmputa dịpụrụ adịpụ.
Ugbu a, ka anyị bido site na ịmepụta backup.sh
script na ihe nkesa ndabere 192.168.56.10 dị ka ndị a:
# cd ~/bin # vi backup.sh
Tinye ahịrị ndị a na faịlụ edemede.
#!/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
Chekwaa faịlụ ahụ wee pụọ, wee gbaa iwu a ka ịgbakwunye script na crontab na ihe nkesa ndabere 192.168.56.10:
# crontab -e
Tinye ahịrị a iji mee edemede ndabere gị kwa ụbọchị n'etiti abalị:
0 0 * * * /root/bin/backup.sh > /dev/null 2>&1
Chekwaa crontab wee mechie ya, ugbu a, anyị emeela usoro nkwado ndabere na mpaghara nke ọma. Gbaa mbọ hụ na ọ na-arụ ọrụ dịka a tụrụ anya ya.
Gụọ site na ibe rdiff-backup man maka ozi ndị ọzọ, nhọrọ ojiji na ihe atụ zuru oke:
# man rdiff-backup
rdiff-backup ibe: http://www.nongnu.org/rdiff-backup/
Nke ahụ bụ maka ugbu a! N'ime nkuzi a, anyị gosiri gị otu esi etinye ma jiri rdiff-backup mee ihe, script Python dị mfe iji maka nkwado ndabere mpaghara/ime ime na Linux. Gwa anyị echiche gị site na ngalaba nzaghachi n'okpuru.