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.

  1. 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ẹ.

  1. Ṣẹ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:

  1. Bii a ṣe le ṣe Afẹyinti/Ṣiṣẹpọ Awọn ilana nipa lilo Ọpa Rsync (Latọna Sync) Ọpa
  2. 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:

  1. config_version 1.2 = Ẹya faili iṣeto ni
  2. snapshot_root = Ibi ipasẹ Afẹyinti lati tọju awọn sikirinisoti
  3. cmd_cp = Ona lati daakọ aṣẹ
  4. cmd_rm = Ona lati yọ pipaṣẹ kuro
  5. cmd_rsync = Ona si rsync
  6. cmd_ssh = Ona si SSH
  7. cmd_logger = Ona si wiwo aṣẹ ikarahun si syslog
  8. cmd_du = Ona si pipaṣẹ lilo disk
  9. aarin wakati = Meloo ni awọn afẹyinti wakati lati tọju.
  10. aarin ojoojumọ = Melo ni awọn afẹyinti ojoojumọ lati tọju.
  11. aarin osẹ = Melo ni awọn afẹyinti ọsẹ lati tọju.
  12. aarin oṣooṣu = Melo ni awọn afẹyinti oṣooṣu lati tọju.
  13. ssh_args = Awọn ariyanjiyan SSH iyan, gẹgẹ bi ibudo miiran (-p)
  14. verbose = Alaye ara ẹni
  15. loglevel = Alaye ara ẹni
  16. logfile = Ona lati buwolu wọle
  17. exclude_file = Ona si faili imukuro (yoo ṣalaye ni alaye diẹ sii)
  18. rsync_long_args = Awọn ariyanjiyan gigun lati kọja si rsync
  19. lockfile = Alaye ara ẹni
  20. 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:

  1. Nṣiṣẹ ni gbogbo wakati 4 ati ṣẹda itọsọna wakati labẹ/itọsọna afẹyinti.
  2. Nṣiṣẹ lojoojumọ ni 3:30 owurọ ati ṣẹda itọsọna ojoojumọ labẹ itọsọna/afẹyinti.
  3. 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
  4. 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.

  1. 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ọ

  1. 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.