Rsnapshot (Orisun Rsync) - Agbegbe/Afẹyinti Oluṣakoso faili Oluṣakoso Afẹyinti fun Lainos
rsnapshot jẹ orisun ṣiṣi agbegbe/ohun elo isakoṣo latọna jijin faili eto ti a kọ ni ede Perl eyiti o ni anfani agbara ti Rsync ati eto SSH lati ṣẹda, ṣe eto awọn ifikun afikun ti awọn eto faili Linux/Unix, lakoko ti o n gba aaye ti ẹyọkan afẹyinti ni kikun pẹlu awọn iyatọ ki o tọju awọn afẹyinti wọnyẹn lori awakọ agbegbe si oriṣiriṣi dirafu lile, ọpa USB itagbangba, awakọ NFS ti a gbe tabi ni irọrun lori nẹtiwọọki si ẹrọ miiran nipasẹ SSH.
Nkan yii yoo ṣafihan bi o ṣe le fi sori ẹrọ, ṣeto ati lo rsnapshot lati ṣẹda afikun wakati, lojoojumọ, oṣooṣu ati awọn afẹyinti agbegbe ti oṣooṣu, bii awọn afẹyinti latọna jijin. Lati ṣe gbogbo awọn igbesẹ ninu nkan yii, o gbọdọ jẹ olumulo gbongbo.
Igbesẹ 1: Fifi Afẹyinti Rsnapshot sinu Lainos
Fifi sori ẹrọ ti rsnapshot nipa lilo Yum ati APT le yato si diẹ, ti o ba nlo Red Hat ati awọn pinpin orisun Debian.
Ni akọkọ iwọ yoo ni lati fi sori ẹrọ ati mu ibi-ipamọ ẹni-kẹta ṣiṣẹ ti a pe ni EPEL. Jọwọ tẹle ọna asopọ isalẹ lati fi sori ẹrọ ati mu ṣiṣẹ labẹ awọn eto RHEL/CentOS rẹ. Awọn olumulo Fedora ko nilo eyikeyi awọn atunto ibi ipamọ pataki.
- Fi sori ẹrọ ati Jeki Ibi ipamọ EPEL ni RHEL/CentOS 6/5/4
Lọgan ti o ba ṣeto awọn ohun, fi sori ẹrọ rsnapshot lati laini aṣẹ bi o ti han.
# yum install rsnapshot
Nipa aiyipada, rsnapshot ti o wa ninu awọn ibi ipamọ Ubuntu, nitorina o le fi sii nipa lilo pipaṣẹ-gba aṣẹ bi o ti han.
# apt-get install rsnapshot
Igbesẹ 2: Ṣiṣeto Wiwọle Wiwọle ti ko ni ọrọigbaniwọle SSH
Lati ṣe afẹyinti awọn olupin Lainos latọna jijin, olupin afẹyinti rẹ rsnapshot yoo ni anfani lati sopọ nipasẹ SSH laisi ọrọ igbaniwọle kan. Lati ṣe eyi, iwọ yoo nilo lati ṣẹda awọn bọtini gbangba ati ikọkọ ti SSH lati jẹrisi lori olupin rsnapshot. Jọwọ tẹle ọna asopọ isalẹ lati ṣe ina awọn bọtini ilu ati ni ikọkọ lori olupin afẹyinti rsnapshot rẹ.
- Ṣẹda Wiwọle Wiwọle Ọrọigbaniwọle SSH Lilo SSH Keygen
Igbesẹ 3: Tito leto Rsnapshot
Bayi o yoo nilo lati satunkọ ati ṣafikun diẹ ninu awọn aye si faili iṣeto rsnapshot. Ṣii faili rsnapshot.conf pẹlu vi tabi olootu nano.
# vi /etc/rsnapshot.conf
Nigbamii ṣẹda itọsọna igbasilẹ, nibiti o fẹ lati tọju gbogbo awọn afẹyinti rẹ. Ninu ọran mi ipo itọsọna itọsọna mi ni\"/ data/backup /". Wa fun ati ṣatunkọ paramita atẹle lati ṣeto ipo afẹyinti.
snapshot_root /data/backup/
Pẹlupẹlu aibikita laini “cmd_ssh” lati gba laaye lati mu awọn afẹyinti latọna jijin lori SSH. Lati ṣe airotẹlẹ laini yọ “#” ni iwaju ila ti o tẹle ki rsnapshot le gbe data rẹ lailewu si olupin afẹyinti.
cmd_ssh /usr/bin/ssh
Nigbamii ti, o nilo lati pinnu iye awọn afẹyinti atijọ ti iwọ yoo fẹ lati tọju, nitori rsnapshot ko ni imọran bawo ni igbagbogbo ti o fẹ lati ya awọn sikirinisoti. O nilo lati ṣọkasi iye data lati fipamọ, ṣafikun awọn aaye arin lati tọju, ati iye meloo kọọkan.
O dara, awọn eto aiyipada dara to, ṣugbọn sibẹ Emi yoo fẹ ki o mu aaye\"oṣooṣu" ṣiṣẹ ki o le tun ni awọn afẹyinti igba pipẹ ni aaye. Jọwọ satunkọ apakan yii lati dabi iru awọn eto isalẹ.
######################################### # 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
Ohunkan diẹ ti o nilo lati satunkọ ni “ssh_args” oniyipada. Ti o ba ti yiyipada ibudo SSH aiyipada (22) si nkan miiran, o nilo lati ṣọkasi nọmba ibudo yẹn ti olupin ifipamọ latọna jijin rẹ.
ssh_args -p 7851
Lakotan, ṣafikun awọn ilana agbegbe ati latọna jijin awọn ilana itọsọna ti o fẹ ṣe afẹyinti.
Ti o ba ti pinnu lati ṣe afẹyinti awọn ilana rẹ ni agbegbe si ẹrọ kanna, titẹsi afẹyinti yoo dabi eleyi. Fun apẹẹrẹ, Mo n gba afẹyinti ti awọn ilana/tecmint ati/ati bẹbẹ lọ.
backup /tecmint/ localhost/ backup /etc/ localhost/
Ti o ba fẹ lati ṣe afẹyinti awọn ilana olupin latọna jijin, lẹhinna o nilo lati sọ fun rsnapshot ibiti olupin wa ati iru awọn ilana ti o fẹ ṣe afẹyinti. Nibi Mo n ṣe afẹyinti ti olupin latọna jijin mi “/ ile” liana labẹ “/ data/backup” liana lori olupin rsnapshot.
backup [email :/home/ /data/backup/
Ka Tun:
- Bii a ṣe le ṣe Afẹyinti/Ṣiṣẹpọ Awọn ilana nipa lilo Ọpa Rsync (Latọna Sync) Ọpa
- Bii o ṣe le Gbe Awọn faili/Awọn folda Nipasẹ pipaṣẹ SCP
Nibi, Emi yoo ṣe iyasọtọ ohun gbogbo, ati lẹhinna ni pataki nikan ṣalaye ohun ti Mo fẹ ṣe afẹyinti. Lati ṣe eyi, o nilo lati ṣẹda faili iyasọtọ.
# vi /data/backup/tecmint.exclude
Ni akọkọ gba atokọ awọn ilana ti o fẹ ṣe afẹyinti ati ṣafikun (- *) lati ṣe iyasọtọ ohun gbogbo miiran. Eyi yoo ṣe afẹyinti ohun ti o ṣe atokọ ninu faili naa. Faili iyasoto mi dabi iru si isalẹ.
+ /boot + /data + /tecmint + /etc + /home + /opt + /root + /usr - /usr/* - /var/cache + /var - /*
Lilo aṣayan faili iyasọtọ le jẹ ẹtan pupọ nitori lilo ifasẹyin rsync. Nitorinaa, apẹẹrẹ mi loke le ma jẹ ohun ti o n wa. Nigbamii ṣafikun faili iyasoto si faili rsnapshot.conf.
exclude_file /data/backup/tecmint.exclude
Lakotan, o ti fẹrẹ pari pẹlu iṣeto akọkọ. Fipamọ faili iṣeto ni “/etc/rsnapshot.conf” ṣaaju gbigbe siwaju. Awọn aṣayan pupọ lo wa lati ṣalaye, ṣugbọn eyi ni faili iṣeto apẹẹrẹ mi.
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/
Gbogbo awọn aṣayan ti o wa loke ati awọn alaye ariyanjiyan ni atẹle:
- config_version 1.2 = Ẹya faili iṣeto ni
- snapshot_root = Ibi ipasẹ Afẹyinti lati tọju awọn sikirinisoti
- cmd_cp = Ona lati daakọ aṣẹ
- cmd_rm = Ona lati yọ pipaṣẹ kuro
- cmd_rsync = Ona si rsync
- cmd_ssh = Ona si SSH
- cmd_logger = Ona si wiwo aṣẹ ikarahun si syslog
- cmd_du = Ona si pipaṣẹ lilo disk
- aarin wakati = Meloo ni awọn afẹyinti wakati lati tọju.
- aarin ojoojumọ = Melo ni awọn afẹyinti ojoojumọ lati tọju.
- aarin osẹ = Melo ni awọn afẹyinti ọsẹ lati tọju.
- aarin oṣooṣu = Melo ni awọn afẹyinti oṣooṣu lati tọju.
- ssh_args = Awọn ariyanjiyan SSH iyan, gẹgẹ bi ibudo miiran (-p)
- verbose = Alaye ara ẹni
- loglevel = Alaye ara ẹni
- logfile = Ona lati buwolu wọle
- exclude_file = Ona si faili imukuro (yoo ṣalaye ni alaye diẹ sii)
- rsync_long_args = Awọn ariyanjiyan gigun lati kọja si rsync
- lockfile = Alaye ara ẹni
- afẹyinti = Opopona kikun si ohun ti o ni lati ṣe afẹyinti atẹle nipa ọna ibatan ti gbigbe.
Igbesẹ 4: Ṣayẹwo Iṣeto Rsnapshot
Lọgan ti o ba ti ṣe pẹlu gbogbo iṣeto rẹ, akoko rẹ lati ṣayẹwo pe ohun gbogbo n ṣiṣẹ bi o ti ṣe yẹ. Ṣiṣe aṣẹ atẹle lati rii daju pe iṣeto rẹ ni ipilẹ ti o tọ.
# rsnapshot configtest Syntax OK
Ti ohun gbogbo ba tunto ni deede, iwọ yoo gba ifiranṣẹ\"Syntax OK". Ti o ba gba awọn ifiranṣẹ aṣiṣe eyikeyi, iyẹn tumọ si pe o nilo lati ṣatunṣe awọn aṣiṣe wọnyẹn ṣaaju ṣiṣe rsnapshot.
Itele, ṣe idanwo kan lori ọkan ninu fotokoto lati rii daju pe a n ṣe awọn abajade to tọ. A gba paramita “wakati” lati ṣe ṣiṣe idanwo nipa lilo ariyanjiyan -t (idanwo). Aṣẹ isalẹ yii yoo ṣe afihan atokọ ọrọ-ọrọ ti awọn ohun ti yoo ṣe, laisi ṣe wọn ni otitọ.
# 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/
Akiyesi: Aṣẹ ti o wa loke sọ fun rsnapshot lati ṣẹda afẹyinti “wakati”. O tẹjade awọn aṣẹ ti yoo ṣe nigba ti a ba ṣiṣẹ ni gaan.
Igbesẹ 5: Ṣiṣe Rsnapshot Ni afọwọṣe
Lẹhin ti o wadi awọn abajade rẹ, o le yọ aṣayan\"- t" kuro lati ṣiṣe aṣẹ ni otitọ.
# rsnapshot hourly
Aṣẹ ti o wa loke yoo ṣiṣe iwe afọwọkọ afẹyinti pẹlu gbogbo iṣeto ti a fi kun ninu faili rsnapshot.conf ati ṣẹda itọsọna “afẹyinti” lẹhinna ṣẹda ilana itọsọna labẹ rẹ ti o ṣeto awọn faili wa. Lẹhin ṣiṣe ni oke aṣẹ, o le ṣayẹwo awọn abajade nipa lilọ si itọsọna afẹyinti ati ṣe atokọ ilana itọsọna nipa lilo pipaṣẹ ls -l bi o ti han.
# cd /data/backup # ls -l total 4 drwxr-xr-x 3 root root 4096 Oct 28 09:11 hourly.0
Igbesẹ 6: Ṣiṣẹ adaṣe Ilana naa
Lati ṣe adaṣe ilana naa, o nilo lati seto rsnapshot lati ṣiṣẹ ni awọn aaye arin kan lati Cron. Nipa aiyipada, rsnapshot wa pẹlu faili cron labẹ “/etc/cron.d/rsnapshot“, ti ko ba si wa ṣẹda ọkan ki o ṣafikun awọn ila wọnyi si.
Nipa awọn ofin aiyipada ni a ṣalaye, nitorinaa o nilo lati yọ\"#" kuro ni iwaju abala eto lati jẹ ki awọn iye wọnyi le jẹki.
# 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
Jẹ ki n ṣalaye gangan, kini awọn ofin cron loke ṣe:
- Nṣiṣẹ ni gbogbo wakati 4 ati ṣẹda itọsọna wakati labẹ/itọsọna afẹyinti.
- Nṣiṣẹ lojoojumọ ni 3:30 owurọ ati ṣẹda itọsọna ojoojumọ labẹ itọsọna/afẹyinti.
- Nṣiṣẹ ni oṣooṣu ni gbogbo Ọjọ aarọ ni 3:00 owurọ ati ṣẹda itọsọna osẹ-labẹ labẹ/igbasilẹ itọsọna
- Nṣiṣẹ ni gbogbo oṣooṣu ni 2:30 owurọ ati ṣẹda itọsọna oṣooṣu labẹ/itọsọna igbasilẹ.
Lati ni oye daradara lori bi awọn ofin cron ṣe n ṣiṣẹ, Mo daba pe ki o ka nkan wa ti o ṣapejuwe.
- Awọn apẹẹrẹ Eto iṣeto Cron
Igbesẹ 7: Awọn iroyin Rsnapshot
Rsnapshot n pese iwe akọọlẹ kekere Perl kekere ti o firanṣẹ itaniji imeeli pẹlu gbogbo awọn alaye si ohun ti o ṣẹlẹ lakoko afẹyinti data rẹ. Lati ṣeto iwe afọwọkọ yii, o nilo lati daakọ iwe afọwọkọ nibikan labẹ “/ usr/local/bin” ki o jẹ ki o ṣiṣẹ.
# cp /usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.pl /usr/local/bin # chmod +x /usr/local/bin/rsnapreport.pl
Nigbamii, ṣafikun paramita “-stats” ninu faili “rsnapshot.conf” rẹ si apakan awọn ariyanjiyan gigun ti rsync.
vi /etc/rsnapshot.conf
rsync_long_args --stats --delete --numeric-ids --delete-excluded
Bayi ṣatunkọ awọn ofin crontab ti a ṣafikun ni iṣaaju ki o pe iwe afọwọkọ rsnapreport.pl lati fi awọn iroyin naa ranṣẹ si adirẹsi imeeli ti a ṣalaye.
# 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
Lọgan ti o ba ti ṣafikun awọn titẹ sii loke daradara, iwọ yoo gba ijabọ si adirẹsi imeeli rẹ ti o jọra ni isalẹ.
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
Itọkasi Awọn ọna asopọ
- oju-iwe rsnapshot
Iyẹn ni fun bayi, ti eyikeyi awọn iṣoro ba waye lakoko fifi sori ẹrọ ma sọ asọye silẹ fun mi. Titi lẹhinna o ṣe aifwy si TecMint fun awọn nkan ti o nifẹ si lori aye orisun Open.