Rsnapshot (Ibbażat fuq Rsync) - Utilità ta' Backup tas-Sistema ta' Fajl Lokali/Remota għal Linux
rsnapshot hija utilità ta' backup tas-sistema ta' fajls lokali/remota b'sors miftuħ kienet miktuba fil-lingwa Perl li tisfrutta l-qawwa tal-programm Rsync u SSH biex toħloq backups inkrementali skedati ta' sistemi ta' fajls Linux/Unix, filwaqt li tieħu biss l-ispazju ta 'backup wieħed sħiħ flimkien ma' differenzi. u żomm dawk il-backups fuq drive lokali għal hard drive differenti, USB stick estern, drive immuntat NFS jew sempliċiment fuq in-netwerk għal magna oħra permezz ta 'SSH.
Dan l-artikolu se juri kif tinstalla, twaqqaf u tuża rsnapshot biex toħloq backups lokali inkrementali kull siegħa, kuljum, kull ġimgħa u kull xahar, kif ukoll backups remoti. Biex twettaq il-passi kollha f'dan l-artikolu, trid tkun utent root.
Pass 1: Installazzjoni ta 'Rsnapshot Backup fil-Linux
L-installazzjoni ta’ rsnapshot bl-użu ta’ Yum u APT tista’ tvarja kemmxejn, jekk qed tuża distribuzzjonijiet ibbażati fuq Red Hat u Debian.
L-ewwel ser ikollok tinstalla u tippermetti repożitorju ta 'parti terza msejjaħ EPEL. Jekk jogħġbok segwi l-link hawn taħt biex tinstalla u tattiva taħt is-sistemi RHEL/CentOS tiegħek. L-utenti ta 'Fedora ma jeħtieġu l-ebda konfigurazzjoni ta' repożitorju speċjali.
- Installa u Attiva r-Repożitorju EPEL f'RHEL/CentOS 6/5/4
Ladarba ikollok l-affarijiet setup, installa rsnapshot mil-linja tal-kmand kif muri.
# yum install rsnapshot
B'mod awtomatiku, rsnapshot inkluż fir-repożitorji ta 'Ubuntu, sabiex tkun tista' tinstallah billi tuża kmand apt-get kif muri.
# apt-get install rsnapshot
Pass 2: Twaqqif ta' Login SSH mingħajr Password
Biex tagħmel backup ta' servers Linux remoti, is-server ta' backup rsnapshot tiegħek ikun jista' jikkonnettja permezz ta' SSH mingħajr password. Biex twettaq dan, ser ikollok bżonn toħloq ċwievet pubbliċi u privati SSH biex tivverifika fuq is-server rsnapshot. Jekk jogħġbok segwi l-link hawn taħt biex tiġġenera ċwievet pubbliċi u privati fuq is-server tal-backup rsnapshot tiegħek.
- Oħloq Login SSH mingħajr Password billi tuża SSH Keygen
Pass 3: Konfigurazzjoni ta 'Rsnapshot
Issa jkollok bżonn teditja u żżid xi parametri fil-fajl tal-konfigurazzjoni rsnapshot. Iftaħ il-fajl rsnapshot.conf b'editur vi jew nano.
# vi /etc/rsnapshot.conf
Sussegwentement toħloq direttorju tal-backup, fejn trid taħżen il-backups kollha tiegħek. Fil-każ tiegħi l-post tad-direttorju tal-backup tiegħi huwa \/data/backup/”. Fittex u editja l-parametru li ġej biex tissettja l-post tal-backup.
snapshot_root /data/backup/
Wkoll neħħi l-kumment tal-linja cmd_ssh biex tippermetti li tieħu backups mill-bogħod fuq SSH. Biex tneħħi l-kumment tal-linja neħħi l-# quddiem il-linja li ġejja sabiex rsnapshot ikun jista 'jittrasferixxi d-dejta tiegħek b'mod sigur għal server backup.
cmd_ssh /usr/bin/ssh
Sussegwentement, għandek bżonn tiddeċiedi kemm backups qodma tixtieq iżżomm, minħabba li rsnapshot ma kellu ebda idea kemm-il darba trid tieħu snapshots. Trid tispeċifika kemm dejta trid tissejvja, żid intervalli li żżomm, u kemm minn kull wieħed.
Ukoll, is-settings default huma tajbin biżżejjed, iżda xorta nixtieq li tattiva l-intervall \kull xahar sabiex inti jista' jkollok ukoll backups għal żmien itwal fis-seħħ. Jekk jogħġbok editja din it-taqsima biex tidher simili għas-settings ta' hawn taħt.
######################################### # BACKUP INTERVALS # # Must be unique and in ascending order # # i.e. hourly, daily, weekly, etc. # ######################################### interval hourly 6 interval daily 7 interval weekly 4 interval monthly 3
Ħaġa oħra li trid teditja hija l-varjabbli ssh_args. Jekk bdilt il-Port SSH default (22) għal xi ħaġa oħra, trid tispeċifika dak in-numru tal-port tas-server ta' backup remot tiegħek.
ssh_args -p 7851
Fl-aħħarnett, żid id-direttorji tal-backup lokali u remoti tiegħek li trid tagħmel backup.
Jekk iddeċidejt li tagħmel backup tad-direttorji tiegħek lokalment fuq l-istess magna, l-entrata tal-backup tkun tidher bħal din. Pereżempju, qed nieħu backup tad-direttorji tiegħi /tecmint u /etc.
backup /tecmint/ localhost/ backup /etc/ localhost/
Jekk tixtieq tagħmel backup ta' direttorji ta' server remot, imbagħad trid tgħid lir-rsnapshot fejn jinsab is-server u liema direttorji trid tagħmel backup. Hawnhekk qed nieħu backup tad-direttorju /home tas-server remot tiegħi taħt id-direttorju /data/backup fuq is-server rsnapshot.
backup [email :/home/ /data/backup/
Aqra wkoll:
- Kif tagħmel Backup/Sinkronizzazzjoni tad-Diretorji billi tuża Għodda ta' Rsync (sinkronizzazzjoni mill-bogħod)
- Kif Titrasferixxi Fajls/Folders billi tuża Kmand SCP
Hawnhekk, ser neskludi kollox, u mbagħad niddefinixxi biss speċifikament dak li rrid nappoġġja. Biex tagħmel dan, għandek bżonn toħloq fajl eskluż.
# vi /data/backup/tecmint.exclude
L-ewwel ikseb il-lista tad-direttorji li trid tagħmel backup u żid ( – * ) biex teskludi kull ħaġa oħra. Dan se jagħmel biss backup dak li elenkat fil-fajl. Il-fajl tal-esklużjoni tiegħi jidher simili għal hawn taħt.
+ /boot + /data + /tecmint + /etc + /home + /opt + /root + /usr - /usr/* - /var/cache + /var - /*
L-użu ta 'eskludi l-għażla tal-fajl jista' jkun diffiċli ħafna minħabba l-użu tar-rikorżjoni rsync. Allura, l-eżempju tiegħi ta 'hawn fuq jista' ma jkunx dak li qed tfittex. Sussegwentement żid il-fajl tal-esklużjoni fil-fajl rsnapshot.conf.
exclude_file /data/backup/tecmint.exclude
Fl-aħħarnett, inti kważi lest bil-konfigurazzjoni inizjali. Issejvja l-fajl tal-konfigurazzjoni “/etc/rsnapshot.conf” qabel ma timxi aktar. Hemm ħafna għażliet biex tispjega, iżda hawnhekk huwa l-kampjun tal-fajl tal-konfigurazzjoni tiegħi.
config_version 1.2 snapshot_root /data/backup/ cmd_cp /bin/cp cmd_rm /bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_logger /usr/bin/logger cmd_du /usr/bin/du interval hourly 6 interval daily 7 interval weekly 4 interval monthly 3 ssh_args -p 25000 verbose 2 loglevel 4 logfile /var/log/rsnapshot/ exclude_file /data/backup/tecmint.exclude rsync_long_args --delete --numeric-ids --delete-excluded lockfile /var/run/rsnapshot.pid backup /tecmint/ localhost/ backup /etc/ localhost/ backup [email :/home/ /data/backup/
L-għażliet kollha ta' hawn fuq u l-ispjegazzjonijiet tal-argumenti huma kif ġej:
- config_version 1.2 = Verżjoni tal-fajl tal-konfigurazzjoni
- snapshot_root = Destinazzjoni tal-Backup biex taħżen snapshots
- cmd_cp = Mogħdija għall-kmand tal-kopja
- cmd_rm = Mogħdija biex tneħħi l-kmand
- cmd_rsync = Mogħdija għal rsync
- cmd_ssh = Mogħdija għal SSH
- cmd_logger = Passaġġ għall-interface tal-kmand tal-qoxra għal syslog
- cmd_du = kmand tal-użu tal-mogħdija tad-diska
- intervall kull siegħa = Kemm għandek iżżomm backups fis-siegħa.
- intervall kuljum = Kemm għandek iżżomm backups kuljum.
- intervall ta' kull ġimgħa = Kemm għandek iżżomm backups fil-ġimgħa.
- intervall ta' kull xahar = Kemm għandek iżżomm backups ta' kull xahar.
- ssh_args = Argumenti SSH mhux obbligatorji, bħal port differenti (-p )
- verbose = Jispjega lilu nnifsu
- loglevel = Jispjega lilu nnifsu
- logfile = Passaġġ għal logfile
- exclude_file = It-triq għall-fajl ta' esklużjoni (se tiġi spjegata f'aktar dettall)
- rsync_long_args = Argumenti twal biex jgħaddu lil rsync
- lockfile = Jispjega lilu nnifsu
- backup = Mogħdija sħiħa għal dak li għandu jsir backup segwit minn mogħdija relattiva tat-tqegħid.
Pass 4: Ivverifika l-Konfigurazzjoni Rsnapshot
Ladarba tkun għamilt il-konfigurazzjoni kollha tiegħek, wasal iż-żmien li tivverifika li kollox jaħdem kif mistenni. Mexxi l-kmand li ġej biex tivverifika li l-konfigurazzjoni tiegħek għandha s-sintassi korretta.
# rsnapshot configtest Syntax OK
Jekk kollox ikun ikkonfigurat b'mod korrett, tirċievi messaġġ \Syntax OK. Jekk ikollok xi messaġġi ta' żball, dan ifisser li trid tikkoreġi dawk l-iżbalji qabel ma tħaddem rsnapshot.
Sussegwentement, agħmel test run fuq waħda mill-istampa biex tiżgura li qed niġġeneraw riżultati korretti. Nieħdu l-parametru kull siegħa biex nagħmlu ġirja tat-test billi tuża l-argument -t (test). Dan il-kmand ta 'hawn taħt se juri lista verbose ta' l-affarijiet li se tagħmel, mingħajr ma fil-fatt tagħmelhom.
# rsnapshot -t hourly
echo 2028 > /var/run/rsnapshot.pid mkdir -m 0700 -p /data/backup/ mkdir -m 0755 -p /data/backup/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \ /backup/hourly.0/localhost/ mkdir -m 0755 -p /backup/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \ /backup/hourly.0/localhost/ mkdir -m 0755 -p /data/backup/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ /usr/local /data/backup/hourly.0/localhost/ touch /data/backup/hourly.0/
Nota: Il-kmand ta 'hawn fuq jgħid lil rsnapshot biex joħloq backup kull siegħa. Fil-fatt jistampa l-kmandi li se jwettaq meta nwettquha tassew.
Pass 5: Tmexxi Rsnapshot manwalment
Wara li tivverifika r-riżultati tiegħek, tista 'tneħħi l-għażla \-t biex tmexxi l-kmand verament.
# rsnapshot hourly
Il-kmand ta 'hawn fuq se jmexxi l-iskrittura tal-backup bil-konfigurazzjoni kollha li żidna fil-fajl rsnapshot.conf u joħloq direttorju backup u mbagħad joħloq l-istruttura tad-direttorju taħtu li torganizza l-fajls tagħna. Wara li taħdem fuq il-kmand, tista 'tivverifika r-riżultati billi tmur fid-direttorju tal-backup u telenka l-istruttura tad-direttorju billi tuża ls -l kmand kif muri.
# cd /data/backup # ls -l total 4 drwxr-xr-x 3 root root 4096 Oct 28 09:11 hourly.0
Pass 6: Awtomatizzazzjoni tal-Proċess
Biex awtomat il-proċess, għandek bżonn tiskeda rsnapshot biex titmexxa f'ċerti intervalli minn Cron. B'mod awtomatiku, rsnapshot jiġi mal-fajl cron taħt /etc/cron.d/rsnapshot, jekk ma jeżistix oħloq waħda u żid il-linji li ġejjin miegħu.
B'mod awtomatiku, ir-regoli huma kkummentati, għalhekk trid tneħħi l-\# minn quddiem is-sezzjoni tal-iskedar biex tippermetti dawn il-valuri.
# This is a sample cron file for rsnapshot. # The values used correspond to the examples in /etc/rsnapshot.conf. # There you can also set the backup points and many other things. # # To activate this cron file you have to uncomment the lines below. # Feel free to adapt it to your needs. 0 */4 * * * root /usr/bin/rsnapshot hourly 30 3 * * * root /usr/bin/rsnapshot daily 0 3 * * 1 root /usr/bin/rsnapshot weekly 30 2 1 * * root /usr/bin/rsnapshot monthly
Ħa nispjega eżattament, x'jagħmlu hawn fuq ir-regoli cron:
- Tmexxi kull 4 sigħat u toħloq direttorju kull siegħa taħt direttorju /backup.
- Tmexxi kuljum fit-3:30am u toħloq direttorju ta' kuljum taħt /direttorju ta' backup.
- Tmexxi kull ġimgħa kull nhar ta' Tnejn fit-3:00am u toħloq direttorju ta' kull ġimgħa taħt direttorju /backup.
- Tmexxi kull xahar fis-2:30am u toħloq direttorju ta' kull xahar taħt /direttorju ta' backup.
Biex tifhem aħjar kif jaħdmu r-regoli cron, nissuġġerixxi li taqra l-artiklu tagħna li jiddeskrivi.
- 11 Eżempji ta' Skedar Cron
Pass 7: Rapporti Rsnapshot
L-rsnapshot jipprovdi skript Perl ta' rappurtar żgħir innifs li jibgħatlek twissija bl-email bid-dettalji kollha dwar dak li seħħ waqt il-backup tad-dejta tiegħek. Biex issettja dan l-iskript, trid tikkopja l-iskript x'imkien taħt /usr/local/bin u tagħmilha eżekutibbli.
# cp /usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.pl /usr/local/bin # chmod +x /usr/local/bin/rsnapreport.pl
Sussegwentement, żid il-parametru “–stats” fil-fajl “rsnapshot.conf” tiegħek mat-taqsima tal-argumenti twal tar-rsync.
vi /etc/rsnapshot.conf
rsync_long_args --stats --delete --numeric-ids --delete-excluded
Issa editja r-regoli tal-crontab li ġew miżjuda qabel u ċempel l-iskrittura rsnapreport.pl biex tgħaddi r-rapporti lill-indirizz elettroniku speċifikat.
# This is a sample cron file for rsnapshot. # The values used correspond to the examples in /etc/rsnapshot.conf. # There you can also set the backup points and many other things. # # To activate this cron file you have to uncomment the lines below. # Feel free to adapt it to your needs. 0 */4 * * * root /usr/bin/rsnapshot hourly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" [email 30 3 * * * root /usr/bin/rsnapshot daily 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Daily Backup" [email 0 3 * * 1 root /usr/bin/rsnapshot weekly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Weekly Backup" [email 30 2 1 * * root /usr/bin/rsnapshot monthly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Montly Backup" [email
Ladarba tkun żidt l-entrati ta’ hawn fuq b’mod korrett, ikollok rapport fl-indirizz tal-email tiegħek simili għal hawn taħt.
SOURCE TOTAL FILES FILES TRANS TOTAL MB MB TRANS LIST GEN TIME FILE XFER TIME -------------------------------------------------------------------------------------------------------- localhost/ 185734 11853 2889.45 6179.18 40.661 second 0.000 seconds
Links ta' Referenza
- rsnapshot homepage
Dak hu għalissa, jekk iseħħu xi problemi waqt l-installazzjoni, waqqali kumment. Sa dak iż-żmien ibqa' sintonizzat ma' TecMint għal aktar artikli interessanti dwar id-dinja Open Source.