Rsnapshot (Rsync അടിസ്ഥാനമാക്കിയുള്ളത്) - Linux-നുള്ള ഒരു ലോക്കൽ/റിമോട്ട് ഫയൽ സിസ്റ്റം ബാക്കപ്പ് യൂട്ടിലിറ്റി


rsnapshot എന്നത് ഒരു ഓപ്പൺ സോഴ്uസ് ലോക്കൽ/റിമോട്ട് ഫയൽസിസ്റ്റം ബാക്കപ്പ് യൂട്ടിലിറ്റിയാണ് പേൾ ഭാഷയിൽ എഴുതിയിരിക്കുന്നത്, ഇത് Rsync, SSH പ്രോഗ്രാമുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ശക്തി പ്രയോജനപ്പെടുത്തുന്നു, Linux/Unix ഫയൽസിസ്റ്റമുകളുടെ ഷെഡ്യൂൾ ചെയ്ത ഇൻക്രിമെന്റൽ ബാക്കപ്പുകൾ, ഒരൊറ്റ പൂർണ്ണ ബാക്കപ്പിന്റെയും വ്യത്യാസങ്ങളുടെയും ഇടം മാത്രം എടുക്കുന്നു. കൂടാതെ ആ ബാക്കപ്പുകൾ ലോക്കൽ ഡ്രൈവിൽ വ്യത്യസ്uത ഹാർഡ് ഡ്രൈവ്, ഒരു ബാഹ്യ USB സ്റ്റിക്ക്, ഒരു NFS മൗണ്ട്ഡ് ഡ്രൈവ് അല്ലെങ്കിൽ നെറ്റ്uവർക്കിലൂടെ മറ്റൊരു മെഷീനിലേക്ക് SSH വഴി സൂക്ഷിക്കുക.

വർദ്ധിച്ചുവരുന്ന മണിക്കൂർ, പ്രതിദിന, പ്രതിവാര, പ്രതിമാസ പ്രാദേശിക ബാക്കപ്പുകളും റിമോട്ട് ബാക്കപ്പുകളും സൃഷ്ടിക്കുന്നതിന് rsnapshot എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും സജ്ജീകരിക്കാമെന്നും ഉപയോഗിക്കാമെന്നും ഈ ലേഖനം കാണിക്കും. ഈ ലേഖനത്തിലെ എല്ലാ ഘട്ടങ്ങളും നടപ്പിലാക്കാൻ, നിങ്ങൾ റൂട്ട് ഉപയോക്താവായിരിക്കണം.

ഘട്ടം 1: ലിനക്സിൽ Rsnapshot ബാക്കപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുന്നു

നിങ്ങൾ Red Hat, Debian എന്നിവ അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, Yum, APT എന്നിവ ഉപയോഗിച്ചുള്ള rsnapshot-ന്റെ ഇൻസ്റ്റലേഷൻ അല്പം വ്യത്യാസപ്പെട്ടേക്കാം.

ആദ്യം നിങ്ങൾ EPEL എന്ന മൂന്നാം കക്ഷി ശേഖരം ഇൻസ്റ്റാൾ ചെയ്ത് പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്. നിങ്ങളുടെ RHEL/CentOS സിസ്റ്റങ്ങൾക്ക് കീഴിൽ ഇൻസ്റ്റാൾ ചെയ്യാനും പ്രവർത്തനക്ഷമമാക്കാനും താഴെയുള്ള ലിങ്ക് പിന്തുടരുക. ഫെഡോറ ഉപയോക്താക്കൾക്ക് പ്രത്യേക റിപ്പോസിറ്ററി കോൺഫിഗറേഷനുകളൊന്നും ആവശ്യമില്ല.

  1. RHEL/CentOS 6/5/4-ൽ EPEL റിപ്പോസിറ്ററി ഇൻസ്റ്റാൾ ചെയ്ത് പ്രവർത്തനക്ഷമമാക്കുക

നിങ്ങൾ കാര്യങ്ങൾ സജ്ജീകരിച്ചുകഴിഞ്ഞാൽ, കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ലൈനിൽ നിന്ന് rsnapshot ഇൻസ്റ്റാൾ ചെയ്യുക.

# yum install rsnapshot

സ്ഥിരസ്ഥിതിയായി, ഉബുണ്ടുവിന്റെ റിപ്പോസിറ്ററികളിൽ rsnapshot ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, അതിനാൽ കാണിച്ചിരിക്കുന്നതുപോലെ apt-get കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

# apt-get install rsnapshot

ഘട്ടം 2: SSH പാസ്uവേഡ് ഇല്ലാത്ത ലോഗിൻ സജ്ജീകരിക്കുന്നു

റിമോട്ട് ലിനക്സ് സെർവറുകൾ ബാക്കപ്പ് ചെയ്യുന്നതിന്, നിങ്ങളുടെ rsnapshot ബാക്കപ്പ് സെർവറിന് പാസ്uവേഡ് ഇല്ലാതെ തന്നെ SSH വഴി കണക്റ്റുചെയ്യാനാകും. ഇത് നിർവ്വഹിക്കുന്നതിന്, rsnapshot സെർവറിൽ ആധികാരികമാക്കുന്നതിന് നിങ്ങൾ ഒരു SSH പൊതു, സ്വകാര്യ കീകൾ സൃഷ്ടിക്കേണ്ടതുണ്ട്. നിങ്ങളുടെ rsnapshot ബാക്കപ്പ് സെർവറിൽ പൊതുവായതും സ്വകാര്യവുമായ കീകൾ സൃഷ്uടിക്കാൻ ചുവടെയുള്ള ലിങ്ക് പിന്തുടരുക.

  1. SSH കീജൻ ഉപയോഗിച്ച് SSH പാസ്uവേഡ് ഇല്ലാത്ത ലോഗിൻ സൃഷ്uടിക്കുക

ഘട്ടം 3: Rsnapshot കോൺഫിഗർ ചെയ്യുന്നു

ഇപ്പോൾ നിങ്ങൾ rsnapshot കോൺഫിഗറേഷൻ ഫയലിലേക്ക് ചില പരാമീറ്ററുകൾ എഡിറ്റ് ചെയ്യുകയും ചേർക്കുകയും ചെയ്യേണ്ടതുണ്ട്. vi അല്ലെങ്കിൽ നാനോ എഡിറ്റർ ഉപയോഗിച്ച് rsnapshot.conf ഫയൽ തുറക്കുക.

# vi /etc/rsnapshot.conf

അടുത്തതായി നിങ്ങളുടെ എല്ലാ ബാക്കപ്പുകളും സംഭരിക്കാൻ ആഗ്രഹിക്കുന്ന ഒരു ബാക്കപ്പ് ഡയറക്uടറി സൃഷ്uടിക്കുക. എന്റെ കാര്യത്തിൽ എന്റെ ബാക്കപ്പ് ഡയറക്uടറി ലൊക്കേഷൻ \/data/backup/” ആണ്. ബാക്കപ്പ് ലൊക്കേഷൻ സജ്ജീകരിക്കുന്നതിന് ഇനിപ്പറയുന്ന പാരാമീറ്റർ തിരയുകയും എഡിറ്റ് ചെയ്യുകയും ചെയ്യുക.

snapshot_root			 /data/backup/

കൂടാതെ SSH വഴി റിമോട്ട് ബാക്കപ്പുകൾ എടുക്കാൻ അനുവദിക്കുന്നതിന് cmd_ssh ലൈനും അൺകമന്റ് ചെയ്യുക. വരി അൺകമന്റ് ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന വരിയുടെ മുന്നിലുള്ള # നീക്കം ചെയ്യുക, അതുവഴി rsnapshot-ന് നിങ്ങളുടെ ഡാറ്റ ഒരു ബാക്കപ്പ് സെർവറിലേക്ക് സുരക്ഷിതമായി കൈമാറാൻ കഴിയും.

cmd_ssh			/usr/bin/ssh

അടുത്തതായി, എത്ര പഴയ ബാക്കപ്പുകൾ സൂക്ഷിക്കണമെന്ന് നിങ്ങൾ തീരുമാനിക്കേണ്ടതുണ്ട്, കാരണം നിങ്ങൾ എത്ര തവണ സ്നാപ്പ്ഷോട്ടുകൾ എടുക്കണമെന്ന് rsnapshot-ന് അറിയില്ല. എത്ര ഡാറ്റ സംരക്ഷിക്കണം, സൂക്ഷിക്കാൻ ഇടവേളകൾ ചേർക്കുക, ഓരോന്നിനും എത്രയെണ്ണം എന്നിവ നിങ്ങൾ വ്യക്തമാക്കേണ്ടതുണ്ട്.

ശരി, ഡിഫോൾട്ട് ക്രമീകരണങ്ങൾ മതിയാകും, എങ്കിലും നിങ്ങൾ \പ്രതിമാസ ഇടവേള പ്രവർത്തനക്ഷമമാക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു, അതിലൂടെ നിങ്ങൾക്ക് ദീർഘകാല ബാക്കപ്പുകൾ ഉണ്ടായിരിക്കും. ചുവടെയുള്ള ക്രമീകരണങ്ങൾക്ക് സമാനമായി കാണുന്നതിന് ഈ വിഭാഗം എഡിറ്റ് ചെയ്യുക.

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

നിങ്ങൾ എഡിറ്റ് ചെയ്യേണ്ട മറ്റൊരു കാര്യം ssh_args വേരിയബിൾ ആണ്. നിങ്ങൾ ഡിഫോൾട്ട് SSH പോർട്ട് (22) മറ്റെന്തെങ്കിലുമോ മാറ്റിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ റിമോട്ട് ബാക്കപ്പ് സെർവറിന്റെ ആ പോർട്ട് നമ്പർ നിങ്ങൾ വ്യക്തമാക്കേണ്ടതുണ്ട്.

ssh_args		-p 7851

അവസാനമായി, നിങ്ങൾ ബാക്കപ്പ് ചെയ്യാൻ ആഗ്രഹിക്കുന്ന ലോക്കൽ, റിമോട്ട് ബാക്കപ്പ് ഡയറക്uടറികൾ ചേർക്കുക.

നിങ്ങളുടെ ഡയറക്ടറികൾ അതേ മെഷീനിലേക്ക് പ്രാദേശികമായി ബാക്കപ്പ് ചെയ്യാൻ നിങ്ങൾ തീരുമാനിച്ചിട്ടുണ്ടെങ്കിൽ, ബാക്കപ്പ് എൻട്രി ഇതുപോലെ കാണപ്പെടും. ഉദാഹരണത്തിന്, ഞാൻ എന്റെ /tecmint കൂടാതെ/etc ഡയറക്ടറികൾ ബാക്കപ്പ് എടുക്കുന്നു.

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

റിമോട്ട് സെർവർ ഡയറക്uടറികൾ ബാക്കപ്പ് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, സെർവർ എവിടെയാണെന്നും ഏതൊക്കെ ഡയറക്uടറികളാണ് ബാക്കപ്പ് ചെയ്യേണ്ടതെന്നും നിങ്ങൾ rsnapshot-നോട് പറയേണ്ടതുണ്ട്. rsnapshot സെർവറിലെ /data/backup ഡയറക്uടറിക്ക് കീഴിലുള്ള എന്റെ റിമോട്ട് സെർവർ /home ഡയറക്ടറിയുടെ ഒരു ബാക്കപ്പ് ഞാൻ ഇവിടെ എടുക്കുന്നു.

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

ഇതും വായിക്കുക:

  1. Rsync (റിമോട്ട് സമന്വയം) ടൂൾ ഉപയോഗിച്ച് ഡയറക്ടറികൾ ബാക്കപ്പ്/സമന്വയിപ്പിക്കുന്നതെങ്ങനെ?
  2. SCP കമാൻഡ് ഉപയോഗിച്ച് ഫയലുകൾ/ഫോൾഡറുകൾ എങ്ങനെ കൈമാറാം

ഇവിടെ, ഞാൻ എല്ലാം ഒഴിവാക്കും, തുടർന്ന് ഞാൻ ബാക്കപ്പ് ചെയ്യേണ്ടത് കൃത്യമായി നിർവ്വചിക്കുക. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾ ഒരു ഒഴിവാക്കൽ ഫയൽ സൃഷ്ടിക്കേണ്ടതുണ്ട്.

# vi /data/backup/tecmint.exclude

ആദ്യം നിങ്ങൾ ബാക്കപ്പ് ചെയ്യാൻ ആഗ്രഹിക്കുന്ന ഡയറക്uടറികളുടെ ലിസ്റ്റ് നേടുകയും ബാക്കി എല്ലാം ഒഴിവാക്കുന്നതിന് (- * ) ചേർക്കുകയും ചെയ്യുക. നിങ്ങൾ ഫയലിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്നവ മാത്രമേ ഇത് ബാക്കപ്പ് ചെയ്യുകയുള്ളൂ. എന്റെ ഒഴിവാക്കൽ ഫയൽ ചുവടെയുള്ളത് പോലെ കാണപ്പെടുന്നു.

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

rsync ആവർത്തനത്തിന്റെ ഉപയോഗം കാരണം ഒഴിവാക്കൽ ഫയൽ ഓപ്ഷൻ ഉപയോഗിക്കുന്നത് വളരെ ബുദ്ധിമുട്ടാണ്. അതിനാൽ, എന്റെ മുകളിലെ ഉദാഹരണം നിങ്ങൾ നോക്കുന്നത് ആയിരിക്കില്ല. അടുത്തതായി ഒഴിവാക്കൽ ഫയൽ rsnapshot.conf ഫയലിലേക്ക് ചേർക്കുക.

exclude_file    /data/backup/tecmint.exclude

അവസാനമായി, നിങ്ങൾ പ്രാഥമിക കോൺഫിഗറേഷൻ പൂർത്തിയാക്കി. മുന്നോട്ട് പോകുന്നതിന് മുമ്പ് “/etc/rsnapshot.conf” കോൺഫിഗറേഷൻ ഫയൽ സംരക്ഷിക്കുക. വിശദീകരിക്കാൻ നിരവധി ഓപ്ഷനുകൾ ഉണ്ട്, എന്നാൽ എന്റെ സാമ്പിൾ കോൺഫിഗറേഷൻ ഫയൽ ഇതാ.

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/

മുകളിലുള്ള എല്ലാ ഓപ്ഷനുകളും വാദ വിശദീകരണങ്ങളും ഇപ്രകാരമാണ്:

  1. config_version 1.2 = കോൺഫിഗറേഷൻ ഫയൽ പതിപ്പ്
  2. snapshot_root = സ്നാപ്പ്ഷോട്ടുകൾ സംഭരിക്കുന്നതിനുള്ള ബാക്കപ്പ് ഡെസ്റ്റിനേഷൻ
  3. cmd_cp = കമാൻഡ് പകർത്താനുള്ള പാത
  4. cmd_rm = കമാൻഡ് നീക്കം ചെയ്യാനുള്ള പാത
  5. cmd_rsync = rsync-ലേക്കുള്ള പാത
  6. cmd_ssh = SSH-ലേക്കുള്ള പാത
  7. cmd_logger = syslog-ലേക്കുള്ള ഷെൽ കമാൻഡ് ഇന്റർഫേസിലേക്കുള്ള പാത
  8. cmd_du = ഡിസ്ക് ഉപയോഗ കമാൻഡിലേക്കുള്ള പാത
  9. ഇന്റർവെൽ മണിക്കൂർ = എത്ര മണിക്കൂർ ബാക്കപ്പുകൾ സൂക്ഷിക്കണം.
  10. ഇന്റർവെൽ പ്രതിദിന = എത്ര പ്രതിദിന ബാക്കപ്പുകൾ സൂക്ഷിക്കണം.
  11. ഇന്റർവെൽ പ്രതിവാര = എത്ര പ്രതിവാര ബാക്കപ്പുകൾ സൂക്ഷിക്കണം.
  12. ഇന്റർവെൽ പ്രതിമാസ = എത്ര പ്രതിമാസ ബാക്കപ്പുകൾ സൂക്ഷിക്കണം.
  13. ssh_args = മറ്റൊരു പോർട്ട് (-p ) പോലുള്ള ഓപ്uഷണൽ SSH ആർഗ്യുമെന്റുകൾ
  14. verbose = സ്വയം വിശദീകരണം
  15. loglevel = സ്വയം വിശദീകരണം
  16. logfile = ലോഗ്ഫയിലേക്കുള്ള പാത
  17. exclude_file = ഒഴിവാക്കിയ ഫയലിലേക്കുള്ള പാത (കൂടുതൽ വിശദമായി വിശദീകരിക്കും)
  18. rsync_long_args = ദീർഘമായ ആർഗ്യുമെന്റുകൾ rsync-ലേക്ക് കൈമാറണം
  19. lockfile = സ്വയം വിശദീകരണം
  20. ബാക്കപ്പ് = പ്ലെയ്uസ്uമെന്റിന്റെ ആപേക്ഷിക പാതയ്ക്ക് ശേഷം ബാക്കപ്പ് ചെയ്യേണ്ടതിന്റെ പൂർണ്ണ പാത.

ഘട്ടം 4: Rsnapshot കോൺഫിഗറേഷൻ പരിശോധിക്കുക

നിങ്ങളുടെ എല്ലാ കോൺഫിഗറേഷനും ചെയ്തുകഴിഞ്ഞാൽ, എല്ലാം പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നുവെന്ന് പരിശോധിക്കേണ്ട സമയമാണിത്. നിങ്ങളുടെ കോൺഫിഗറേഷനിൽ ശരിയായ വാക്യഘടന ഉണ്ടെന്ന് പരിശോധിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# rsnapshot configtest

Syntax OK

എല്ലാം ശരിയായി ക്രമീകരിച്ചിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് \Syntax OK എന്ന സന്ദേശം ലഭിക്കും. നിങ്ങൾക്ക് എന്തെങ്കിലും പിശക് സന്ദേശങ്ങൾ ലഭിക്കുകയാണെങ്കിൽ, rsnapshot പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് നിങ്ങൾ ആ പിശകുകൾ തിരുത്തേണ്ടതുണ്ട്.

അടുത്തതായി, ഞങ്ങൾ ശരിയായ ഫലങ്ങൾ സൃഷ്ടിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ സ്നാപ്പ്ഷോട്ടുകളിൽ ഒന്നിൽ ഒരു ടെസ്റ്റ് റൺ നടത്തുക. -t (ടെസ്റ്റ്) ആർഗ്യുമെന്റ് ഉപയോഗിച്ച് ഒരു ടെസ്റ്റ് റൺ നടത്താൻ ഞങ്ങൾ മണിക്കൂർ പാരാമീറ്റർ എടുക്കുന്നു. ചുവടെയുള്ള ഈ കമാൻഡ് യഥാർത്ഥത്തിൽ അവ ചെയ്യാതെ തന്നെ അത് ചെയ്യുന്ന കാര്യങ്ങളുടെ ഒരു വെർബോസ് ലിസ്റ്റ് പ്രദർശിപ്പിക്കും.

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

കുറിപ്പ്: മുകളിലെ കമാൻഡ് rsnapshot-നോട് ഒരു മണിക്കൂർ ബാക്കപ്പ് ഉണ്ടാക്കാൻ പറയുന്നു. നമ്മൾ അത് ശരിക്കും എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ അത് നിർവഹിക്കുന്ന കമാൻഡുകൾ യഥാർത്ഥത്തിൽ പ്രിന്റ് ചെയ്യുന്നു.

ഘട്ടം 5: Rsnapshot സ്വമേധയാ പ്രവർത്തിപ്പിക്കുന്നു

നിങ്ങളുടെ ഫലങ്ങൾ പരിശോധിച്ചുറപ്പിച്ചതിന് ശേഷം, കമാൻഡ് ശരിക്കും പ്രവർത്തിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് \-t ഓപ്ഷൻ നീക്കം ചെയ്യാം.

# rsnapshot hourly

മുകളിലുള്ള കമാൻഡ്, rsnapshot.conf ഫയലിൽ ഞങ്ങൾ ചേർത്ത എല്ലാ കോൺഫിഗറേഷനുകളുമായും ബാക്കപ്പ് സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുകയും ഒരു ബാക്കപ്പ് ഡയറക്uടറി സൃഷ്uടിക്കുകയും അതിന് കീഴിൽ ഞങ്ങളുടെ ഫയലുകൾ ഓർഗനൈസുചെയ്യുന്ന ഡയറക്ടറി ഘടന സൃഷ്ടിക്കുകയും ചെയ്യും. മുകളിലുള്ള കമാൻഡ് പ്രവർത്തിപ്പിച്ചതിന് ശേഷം, നിങ്ങൾക്ക് ബാക്കപ്പ് ഡയറക്uടറിയിലേക്ക് പോയി ഫലങ്ങൾ പരിശോധിച്ചുറപ്പിക്കാനും കാണിച്ചിരിക്കുന്നതുപോലെ ls -l കമാൻഡ് ഉപയോഗിച്ച് ഡയറക്ടറി ഘടന പട്ടികപ്പെടുത്താനും കഴിയും.

# cd /data/backup
# ls -l

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

ഘട്ടം 6: പ്രക്രിയ ഓട്ടോമേറ്റ് ചെയ്യുന്നു

പ്രക്രിയ ഓട്ടോമേറ്റ് ചെയ്യുന്നതിന്, Cron-ൽ നിന്ന് നിശ്ചിത ഇടവേളകളിൽ പ്രവർത്തിപ്പിക്കുന്നതിന് നിങ്ങൾ rsnapshot ഷെഡ്യൂൾ ചെയ്യേണ്ടതുണ്ട്. ഡിഫോൾട്ടായി, /etc/cron.d/rsnapshot എന്നതിന് കീഴിലുള്ള ക്രോൺ ഫയലിനൊപ്പം rsnapshot വരുന്നു, അത് നിലവിലില്ലെങ്കിൽ ഒരെണ്ണം സൃഷ്uടിച്ച് അതിൽ ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക.

സ്ഥിരസ്ഥിതിയായി നിയമങ്ങൾ കമന്റ് ചെയ്യപ്പെടുന്നു, അതിനാൽ ഈ മൂല്യങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിന് നിങ്ങൾ ഷെഡ്യൂളിംഗ് വിഭാഗത്തിന് മുന്നിൽ നിന്ന് \# നീക്കം ചെയ്യേണ്ടതുണ്ട്.

# 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

മുകളിലുള്ള ക്രോൺ നിയമങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് ഞാൻ കൃത്യമായി വിശദീകരിക്കാം:

  1. ഓരോ 4 മണിക്കൂറിലും പ്രവർത്തിക്കുകയും /ബാക്കപ്പ് ഡയറക്uടറിക്ക് കീഴിൽ ഒരു മണിക്കൂർ ഡയറക്uടറി സൃഷ്uടിക്കുകയും ചെയ്യുന്നു.
  2. ദിവസവും പുലർച്ചെ 3:30-ന് പ്രവർത്തിക്കുകയും /ബാക്കപ്പ് ഡയറക്uടറിക്ക് കീഴിൽ ഒരു പ്രതിദിന ഡയറക്uടറി സൃഷ്uടിക്കുകയും ചെയ്യുന്നു.
  3. എല്ലാ തിങ്കളാഴ്ചയും പുലർച്ചെ 3:00 മണിക്ക് പ്രവർത്തിക്കുകയും /ബാക്കപ്പ് ഡയറക്uടറിക്ക് കീഴിൽ ഒരു പ്രതിവാര ഡയറക്uടറി സൃഷ്uടിക്കുകയും ചെയ്യുന്നു.
  4. എല്ലാ മാസവും പുലർച്ചെ 2:30-ന് പ്രവർത്തിക്കുകയും /ബാക്കപ്പ് ഡയറക്uടറിക്ക് കീഴിൽ ഒരു പ്രതിമാസ ഡയറക്uടറി സൃഷ്uടിക്കുകയും ചെയ്യുന്നു.

ക്രോൺ നിയമങ്ങൾ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നന്നായി മനസ്സിലാക്കാൻ, വിവരിക്കുന്ന ഞങ്ങളുടെ ലേഖനം വായിക്കാൻ ഞാൻ നിർദ്ദേശിക്കുന്നു.

  1. 11 ക്രോൺ ഷെഡ്യൂളിംഗ് ഉദാഹരണങ്ങൾ

ഘട്ടം 7: Rsnapshot റിപ്പോർട്ടുകൾ

നിങ്ങളുടെ ഡാറ്റ ബാക്കപ്പ് സമയത്ത് എന്താണ് സംഭവിച്ചത് എന്നതിനെക്കുറിച്ചുള്ള എല്ലാ വിശദാംശങ്ങളും അടങ്ങിയ ഒരു ഇമെയിൽ അലേർട്ട് നിങ്ങൾക്ക് അയയ്ക്കുന്ന നിഫ്റ്റി ചെറിയ റിപ്പോർട്ടിംഗ് പേൾ സ്ക്രിപ്റ്റ് rsnapshot നൽകുന്നു. ഈ സ്uക്രിപ്റ്റ് സജ്ജീകരിക്കാൻ, /usr/local/bin എന്നതിന് കീഴിൽ എവിടെയെങ്കിലും സ്uക്രിപ്റ്റ് പകർത്തി അത് എക്uസിക്യൂട്ടബിൾ ആക്കേണ്ടതുണ്ട്.

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

അടുത്തതായി, നിങ്ങളുടെ rsnapshot.conf ഫയലിലെ -stats പാരാമീറ്റർ rsync-ന്റെ ലോംഗ് ആർഗ്യുമെന്റ് വിഭാഗത്തിലേക്ക് ചേർക്കുക.

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

ഇപ്പോൾ നേരത്തെ ചേർത്ത crontab നിയമങ്ങൾ എഡിറ്റ് ചെയ്യുക, കൂടാതെ rsnapreport.pl സ്ക്രിപ്റ്റിൽ വിളിച്ച് റിപ്പോർട്ടുകൾ നിർദ്ദിഷ്ട ഇമെയിൽ വിലാസത്തിലേക്ക് കൈമാറുക.

# 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 

മുകളിലെ എൻട്രികൾ നിങ്ങൾ ശരിയായി ചേർത്തുകഴിഞ്ഞാൽ, ചുവടെയുള്ളതിന് സമാനമായി നിങ്ങളുടെ ഇമെയിൽ വിലാസത്തിലേക്ക് ഒരു റിപ്പോർട്ട് ലഭിക്കും.

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

റഫറൻസ് ലിങ്കുകൾ

  1. rsnapshot ഹോംപേജ്

ഇപ്പോൾ അത്രയേയുള്ളൂ, ഇൻസ്റ്റാളേഷൻ സമയത്ത് എന്തെങ്കിലും പ്രശ്നങ്ങൾ ഉണ്ടായാൽ എനിക്ക് ഒരു അഭിപ്രായം ഇടുക. അതുവരെ ഓപ്പൺ സോഴ്uസ് ലോകത്തെക്കുറിച്ചുള്ള കൂടുതൽ രസകരമായ ലേഖനങ്ങൾക്കായി TecMint-ലേക്ക് തുടരുക.