Rsnapshot (Rsync byggt) - Staðbundið/fjarlægt skráakerfi öryggisafrit fyrir Linux


rsnapshot er opinn uppspretta afritunarforrit fyrir staðbundið/fjarlægt skráarkerfi var skrifað á Perl tungumáli sem nýtir kraftinn í Rsync og SSH forritinu til að búa til, tímasett stigvaxandi afrit af Linux/Unix skráarkerfum, en tekur aðeins upp plássið í einu fullu öryggisafriti auk mismuna. og geymdu þessi afrit á staðbundnu drifi á annan harða disk, utanáliggjandi USB-lyki, NFS drif eða einfaldlega yfir netið í aðra vél í gegnum SSH.

Þessi grein mun sýna hvernig á að setja upp, setja upp og nota rsnapshot til að búa til stigvaxandi klukkutíma, daglega, vikulega og mánaðarlega staðbundna afrit, svo og fjarlægar öryggisafrit. Til að framkvæma öll skrefin í þessari grein verður þú að vera rótnotandi.

Skref 1: Setja upp Rsnapshot Backup í Linux

Uppsetning á rsnapshot með Yum og APT gæti verið örlítið frábrugðin ef þú ert að nota Red Hat og Debian byggða dreifingu.

Fyrst verður þú að setja upp og virkja geymslu þriðja aðila sem kallast EPEL. Vinsamlegast fylgdu hlekknum hér að neðan til að setja upp og virkja undir RHEL/CentOS kerfum þínum. Fedora notendur þurfa engar sérstakar geymslustillingar.

  1. Settu upp og virkjaðu EPEL geymslu í RHEL/CentOS 6/5/4

Þegar þú hefur sett upp hlutina skaltu setja upp rsnapshot frá skipanalínunni eins og sýnt er.

# yum install rsnapshot

Sjálfgefið er rsnapshot innifalið í geymslum Ubuntu, svo þú getur sett það upp með apt-get skipuninni eins og sýnt er.

# apt-get install rsnapshot

Skref 2: Settu upp SSH lykilorðslaus innskráningu

Til að taka öryggisafrit af ytri Linux netþjónum mun rsnapshot öryggisafritunarþjónninn þinn geta tengst í gegnum SSH án lykilorðs. Til að ná þessu þarftu að búa til SSH opinberan og einkalykla til að auðkenna á rsnapshot þjóninum. Vinsamlegast fylgdu hlekknum hér að neðan til að búa til opinberan og einkalykla á rsnapshot öryggisafritsþjóninum þínum.

  1. Búa til SSH lykilorðslausa innskráningu með því að nota SSH Keygen

Skref 3: Stilla Rsnapshot

Nú þarftu að breyta og bæta nokkrum breytum við rsnapshot stillingarskrána. Opnaðu rsnapshot.conf skrána með vi eða nano ritstjóra.

# vi /etc/rsnapshot.conf

Næst skaltu búa til afritaskrá þar sem þú vilt geyma öll afritin þín. Í mínu tilviki er staðsetning öryggisafritsskrárinnar \/data/backup/“. Leitaðu að og breyttu eftirfarandi færibreytu til að stilla afritunarstaðsetningu.

snapshot_root			 /data/backup/

Taktu einnig athugasemdir við cmd_ssh línuna til að leyfa að taka fjarlægar öryggisafrit yfir SSH. Til að afskrifa línuna skaltu fjarlægja „#“ fyrir framan eftirfarandi línu svo að rsnapshot geti flutt gögnin þín á öruggan hátt yfir á varaþjón.

cmd_ssh			/usr/bin/ssh

Næst þarftu að ákveða hversu mörg gömul afrit þú vilt halda, því rsnapshot hafði ekki hugmynd um hversu oft þú vilt taka skyndimyndir. Þú þarft að tilgreina hversu mikið af gögnum á að vista, bæta við millibili sem á að geyma og hversu mörg af hverju.

Jæja, sjálfgefnar stillingar eru nógu góðar, en samt myndi ég vilja að þú kveikir á \mánaðarlegu bili svo að þú gætir líka haft lengri tíma öryggisafrit. Vinsamlegast breyttu þessum hluta þannig að hann líti svipað út og stillingarnar hér að neðan.

#########################################
#           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

Eitt í viðbót sem þú þarft að breyta er „ssh_args“ breytan. Ef þú hefur breytt sjálfgefna SSH-tengi (22) í eitthvað annað þarftu að tilgreina það gáttarnúmer á ytri öryggisafritunarþjóninum þínum.

ssh_args		-p 7851

Að lokum skaltu bæta við staðbundnum og fjarlægum öryggisafritunarskrám sem þú vilt taka öryggisafrit.

Ef þú hefur ákveðið að taka öryggisafrit af möppunum þínum á sömu vélina myndi öryggisafritið líta svona út. Til dæmis er ég að taka öryggisafrit af /tecmint og /etc möppunum mínum.

backup		/tecmint/		localhost/
backup		/etc/			localhost/

Ef þú vilt taka öryggisafrit af möppum á ytri netþjóni, þá þarftu að segja rsnapshotinu hvar þjónninn er og hvaða möppur þú vilt taka afrit. Hér er ég að taka öryggisafrit af /home möppunni á ytri netþjóninum mínum undir /data/backup möppunni á rsnapshot þjóninum.

backup		 [email :/home/ 		/data/backup/

Lestu líka:

  1. Hvernig á að taka öryggisafrit/samstilla möppur með því að nota Rsync (fjarsamstilling) tól
  2. Hvernig á að flytja skrár/möppur með SCP skipun

Hér ætla ég að útiloka allt og skilgreina þá aðeins sérstaklega hvað ég vil taka afrit af. Til að gera þetta þarftu að búa til útilokunarskrá.

# vi /data/backup/tecmint.exclude

Fáðu fyrst listann yfir möppur sem þú vilt taka öryggisafrit af og bættu við ( – * ) til að útiloka allt annað. Þetta mun aðeins taka öryggisafrit af því sem þú skráðir í skránni. Útiloka skráin mín lítur út eins og hér að neðan.

+ /boot
+ /data
+ /tecmint
+ /etc
+ /home
+ /opt
+ /root
+ /usr
- /usr/*
- /var/cache
+ /var
- /*

Að nota útiloka skráarvalkostinn getur verið mjög erfiður vegna notkunar á rsync endurtekningu. Svo, dæmið mitt hér að ofan er kannski ekki það sem þú ert að leita að. Næst skaltu bæta útilokunarskránni við rsnapshot.conf skrána.

exclude_file    /data/backup/tecmint.exclude

Að lokum ertu næstum búinn með upphaflegu uppsetninguna. Vistaðu /etc/rsnapshot.conf stillingarskrána áður en þú ferð lengra. Það eru margir möguleikar til að útskýra, en hér er sýnishorn af stillingarskránni minni.

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/

Allir ofangreindir valkostir og rökstuðningsskýringar eru sem hér segir:

  1. config_version 1.2 = Útgáfa stillingarskráar
  2. snapshot_root = Afritunaráfangastaður til að geyma skyndimyndir
  3. cmd_cp = Slóð til að afrita skipun
  4. cmd_rm = Slóð til að fjarlægja skipun
  5. cmd_rsync = Slóð að rsync
  6. cmd_ssh = Slóð að SSH
  7. cmd_logger = Slóð að skel skipunarviðmóti í syslog
  8. cmd_du = Slóð að notkunarskipun á disk
  9. á klukkutíma fresti = Hversu mörg afrit á klukkustund á að geyma.
  10. millibil daglega = Hversu mörg dagleg öryggisafrit á að geyma.
  11. interval weekly = Hversu mörg vikuleg öryggisafrit á að geyma.
  12. millibil mánaðarlega = Hversu mörg mánaðarleg öryggisafrit á að geyma.
  13. ssh_args = Valfrjáls SSH rök, eins og annað tengi (-p )
  14. orðtak = Skýrir sig sjálft
  15. loglevel = Skýrir sig sjálft
  16. logfile = Slóð að logfile
  17. exclude_file = Slóð að útilokunarskránni (verður útskýrt nánar)
  18. rsync_long_args = Löng rök til að senda til rsync
  19. lockfile = Skýrir sig sjálft
  20. afrit = Full slóð að því sem á að taka öryggisafrit og síðan hlutfallsleg slóð staðsetningar.

Skref 4: Staðfestu Rsnapshot stillingar

Þegar þú hefur lokið við allar stillingar þínar er kominn tími til að sannreyna að allt virki eins og búist var við. Keyrðu eftirfarandi skipun til að staðfesta að uppsetningin þín sé með rétta setningafræði.

# rsnapshot configtest

Syntax OK

Ef allt er rétt stillt færðu \Syntax OK skilaboð. Ef þú færð einhver villuboð þýðir það að þú þarft að leiðrétta þær villur áður en þú keyrir rsnapshot.

Næst skaltu prófa að keyra eina af skyndimyndunum til að ganga úr skugga um að við séum að búa til réttar niðurstöður. Við tökum „klukkutímafresti“ færibreytuna til að gera prufukeyrslu með því að nota -t (próf) rök. Þessi skipun hér að neðan mun birta margorðan lista yfir það sem það mun gera, án þess að gera það í raun.

# 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/

Athugið: Ofangreind skipun segir rsnapshot að búa til „tímabundið“ öryggisafrit. Það prentar í raun út skipanirnar sem það mun framkvæma þegar við framkvæmum það í raun.

Skref 5: Keyra Rsnapshot handvirkt

Eftir að hafa staðfest niðurstöðurnar þínar geturðu fjarlægt \-t valkostinn til að keyra skipunina í raun.

# rsnapshot hourly

Ofangreind skipun mun keyra öryggisafritið með öllum stillingum sem við bættum við í rsnapshot.conf skránni og býr til „afrit“ möppu og býr síðan til möppuskipulagið undir henni sem skipuleggur skrárnar okkar. Eftir að hafa keyrt skipunina fyrir ofan geturðu sannreynt niðurstöðurnar með því að fara í öryggisafritsskrána og skrá möppuskipulagið með ls -l skipuninni eins og sýnt er.

# cd /data/backup
# ls -l

total 4
drwxr-xr-x 3 root root 4096 Oct 28 09:11 hourly.0

Skref 6: Að gera ferlið sjálfvirkt

Til að gera ferlið sjálfvirkt þarftu að skipuleggja rsnapshot til að keyra með ákveðnu millibili frá Cron. Sjálfgefið, rsnapshot kemur með cron skrá undir /etc/cron.d/rsnapshot, ef það er ekki til, búðu til einn og bættu eftirfarandi línum við það.

Reglur eru sjálfgefnar athugasemdir, svo þú þarft að fjarlægja \# fyrir framan tímasetningarhlutann til að virkja þessi gildi.

# 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

Leyfðu mér að útskýra nákvæmlega, hvað ofangreind cron reglur gera:

  1. Keytir á 4 tíma fresti og býr til klukkutímaskrá undir /afritaskrá.
  2. Kyndir daglega klukkan 3:30 og búðu til daglega skrá undir /afritaskrá.
  3. Kyndir vikulega alla mánudaga klukkan 03:00 og búðu til vikulega möppu undir /afritaskrá.
  4. Keytir mánaðarlega klukkan 02:30 og búðu til mánaðarlega möppu undir /backup directory.

Til að skilja betur hvernig cron reglur virka, legg ég til að þú lesir greinina okkar sem lýsir.

  1. 11 Cron áætlunardæmi

Skref 7: Rsnapshot skýrslur

The rsnapshot veitir sniðugt lítið skýrslugerð Perl handrit sem sendir þér tölvupóst viðvörun með öllum upplýsingum um hvað gerðist við öryggisafritun gagna. Til að setja upp þetta skriftu þarftu að afrita skriftuna einhvers staðar undir /usr/local/bin og gera það keyranlegt.

# cp /usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.pl /usr/local/bin
# chmod +x /usr/local/bin/rsnapreport.pl

Næst skaltu bæta við „–stats“ færibreytu í „rsnapshot.conf“ skránni þinni við langan rökhluta rsync.

vi /etc/rsnapshot.conf
rsync_long_args --stats	--delete        --numeric-ids   --delete-excluded

Breyttu nú crontab reglunum sem var bætt við áðan og hringdu í rsnapreport.pl forskriftina til að senda skýrslurnar á tilgreint netfang.

# 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 

Þegar þú hefur bætt ofangreindum færslum rétt við færðu skýrslu á netfangið þitt svipað og hér að neðan.

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

Tilvísunartenglar

  1. rsnapshot heimasíða

Það er það í bili, ef einhver vandamál koma upp við uppsetningu skaltu senda mér athugasemd. Þangað til fylgstu með TecMint fyrir fleiri áhugaverðar greinar um Open source heiminn.