ഫാബ്രിക് - നിങ്ങളുടെ ലിനക്സ് അഡ്മിനിസ്ട്രേഷൻ ടാസ്ക്കുകളും എസ്എസ്എച്ച് വഴിയുള്ള ആപ്ലിക്കേഷൻ വിന്യാസങ്ങളും ഓട്ടോമേറ്റ് ചെയ്യുക


റിമോട്ട് മെഷീനുകൾ കൈകാര്യം ചെയ്യുന്നതിലും ആപ്ലിക്കേഷനുകളുടെ വിന്യാസത്തിലും വരുമ്പോൾ, വിശദമായ ഡോക്യുമെന്റേഷന്റെ അഭാവം പലർക്കും പൊതുവായ പ്രശ്uനമുണ്ടെങ്കിലും നിരവധി കമാൻഡ് ലൈൻ ടൂളുകൾ നിലവിലുണ്ട്.

ഈ ഗൈഡിൽ, സെർവറുകളുടെ അഡ്uമിനിസ്uട്രിംഗ് ഗ്രൂപ്പുകൾ മെച്ചപ്പെടുത്തുന്നതിന് ഫാബ്രിക് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് പരിചയപ്പെടുത്തുന്നതിനും ആരംഭിക്കുന്നതിനുമുള്ള ഘട്ടങ്ങൾ ഞങ്ങൾ ഉൾക്കൊള്ളുന്നു.

ഫാബ്രിക് ഒരു പൈത്തൺ ലൈബ്രറിയും ഒന്നിലധികം മെഷീനുകളിൽ SSH കമാൻഡുകൾ നടപ്പിലാക്കുന്നതും ആപ്ലിക്കേഷൻ വിന്യാസം പോലുള്ള സിസ്റ്റം അഡ്മിനിസ്ട്രേഷൻ ജോലികൾ ചെയ്യുന്നതിനുള്ള ശക്തമായ ഒരു കമാൻഡ് ലൈൻ ഉപകരണവുമാണ്.

ഇതും വായിക്കുക: ലിനക്സ് സിസ്റ്റം മെയിന്റനൻസ് ടാസ്ക്കുകൾ ഓട്ടോമേറ്റ് ചെയ്യാൻ ഷെൽ സ്ക്രിപ്റ്റിംഗ് ഉപയോഗിക്കുക

ഫാബ്രിക് ഉപയോഗിക്കുമ്പോൾ പൈത്തണിനെ കുറിച്ചുള്ള പ്രവർത്തന പരിജ്ഞാനം സഹായകമാകും, പക്ഷേ തീർച്ചയായും ആവശ്യമില്ലായിരിക്കാം.

മറ്റ് ബദലുകളെ അപേക്ഷിച്ച് നിങ്ങൾ തുണി തിരഞ്ഞെടുക്കാനുള്ള കാരണങ്ങൾ:

  1. ലാളിത്യം
  2. ഇത് നന്നായി രേഖപ്പെടുത്തിയിട്ടുണ്ട്
  3. നിങ്ങൾ ഇതിനകം ഒരു പെരുമ്പാമ്പ് ആണെങ്കിൽ മറ്റൊരു ഭാഷ പഠിക്കേണ്ടതില്ല.
  4. ഇൻസ്റ്റാൾ ചെയ്യാനും ഉപയോഗിക്കാനും എളുപ്പമാണ്.
  5. ഇത് അതിന്റെ പ്രവർത്തനങ്ങളിൽ വേഗത്തിലാണ്.
  6. ഇത് സമാന്തര റിമോട്ട് എക്സിക്യൂഷനെ പിന്തുണയ്ക്കുന്നു.

ലിനക്സിൽ ഫാബ്രിക് ഓട്ടോമേഷൻ ടൂൾ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

ഫാബ്രിക്കിന്റെ ഒരു പ്രധാന സ്വഭാവം, നിങ്ങൾ നിയന്ത്രിക്കേണ്ട റിമോട്ട് മെഷീനുകൾക്ക് സാധാരണ ഓപ്പൺഎസ്എസ്എച്ച് സെർവർ ഇൻസ്റ്റാൾ ചെയ്താൽ മാത്രം മതി. ആരംഭിക്കുന്നതിന് മുമ്പ് നിങ്ങൾ റിമോട്ട് സെർവറുകൾ നിയന്ത്രിക്കുന്ന സെർവറിൽ ചില ആവശ്യകതകൾ മാത്രമേ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ളൂ.

  1. പൈത്തൺ 2.5+ ഡെവലപ്uമെന്റ് ഹെഡറുകൾ
  2. Python-setuptools, pip (ഓപ്ഷണൽ, എന്നാൽ മുൻഗണന) gcc

Pip ഉപയോഗിച്ച് ഫാബ്രിക് എളുപ്പത്തിൽ ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുന്നു (വളരെ ശുപാർശ ചെയ്യപ്പെടുന്നു), എന്നാൽ ഫാബ്രിക് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങളുടെ ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ തിരഞ്ഞെടുക്കാനും നിങ്ങൾ തിരഞ്ഞെടുത്തേക്കാം, സാധാരണയായി ഫാബ്രിക് അല്ലെങ്കിൽ പൈത്തൺ-ഫാബ്രിക് എന്ന് വിളിക്കുന്നു.

RHEL/CentOS അധിഷ്uഠിത വിതരണങ്ങൾക്കായി, ഫാബ്രിക് പാക്കേജ് ഇൻസ്uറ്റാൾ ചെയ്യുന്നതിന് നിങ്ങൾ EPEL റിപ്പോസിറ്ററി ഇൻസ്റ്റാൾ ചെയ്uത് സിസ്റ്റത്തിൽ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കണം.

# yum install fabric   [On RedHat based systems]  
# dnf install fabric   [On Fedora 22+ versions]

ഡെബിയനും അതിന്റെ ഡെറിവേറ്റീവുകളായ ഉബുണ്ടു, മിന്റ് ഉപയോക്താക്കൾക്കും കാണിച്ചിരിക്കുന്നതുപോലെ ഫാബ്രിക് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും:

# apt-get install fabric

നിങ്ങൾക്ക് ഫാബ്രിക്കിന്റെ വികസന പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യണമെങ്കിൽ, ഏറ്റവും പുതിയ മാസ്റ്റർ ബ്രാഞ്ച് പിടിച്ചെടുക്കാൻ നിങ്ങൾക്ക് പൈപ്പ് ഉപയോഗിക്കാം.

# yum install python-pip       [On RedHat based systems] 
# dnf install python-pip       [On Fedora 22+ versions]
# apt-get install python-pip   [On Debian based systems]

പൈപ്പ് വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, കാണിച്ചിരിക്കുന്നതുപോലെ ഫാബ്രിക്കിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് എടുക്കാൻ നിങ്ങൾക്ക് പിപ്പ് ഉപയോഗിക്കാം:

# pip install fabric

ലിനക്സ് അഡ്മിനിസ്ട്രേഷൻ ടാസ്ക്കുകൾ ഓട്ടോമേറ്റ് ചെയ്യാൻ ഫാബ്രിക് എങ്ങനെ ഉപയോഗിക്കാം

അതിനാൽ നിങ്ങൾക്ക് ഫാബ്രിക് എങ്ങനെ ഉപയോഗിക്കാം എന്ന് തുടങ്ങാം. ഇൻസ്റ്റലേഷൻ പ്രക്രിയയിൽ, fab എന്ന പേരിൽ ഒരു പൈത്തൺ സ്ക്രിപ്റ്റ് നിങ്ങളുടെ പാതയിലെ ഒരു ഡയറക്ടറിയിൽ ചേർത്തു. ഫാബ്രിക് ഉപയോഗിക്കുമ്പോൾ ഫാബ് സ്ക്രിപ്റ്റ് എല്ലാ ജോലികളും ചെയ്യുന്നു.

കൺവെൻഷൻ പ്രകാരം, നിങ്ങളുടെ പ്രിയപ്പെട്ട എഡിറ്റർ ഉപയോഗിച്ച് fabfile.py എന്ന പേരിൽ ഒരു പൈത്തൺ ഫയൽ സൃഷ്uടിച്ച് ആരംഭിക്കേണ്ടതുണ്ട്. ഈ ഫയലിന് നിങ്ങൾ ആഗ്രഹിക്കുന്നതുപോലെ മറ്റൊരു പേര് നൽകാമെന്ന് ഓർക്കുക, എന്നാൽ നിങ്ങൾ ഫയൽ പാത്ത് ഇനിപ്പറയുന്ന രീതിയിൽ വ്യക്തമാക്കേണ്ടതുണ്ട്:

# fabric --fabfile /path/to/the/file.py

ടാസ്uക്കുകൾ എക്uസിക്യൂട്ട് ചെയ്യാൻ ഫാബ്രിക്ക് fabfile.py ഉപയോഗിക്കുന്നു. നിങ്ങൾ ഫാബ്രിക് ടൂൾ പ്രവർത്തിപ്പിക്കുന്ന അതേ ഡയറക്uടറിയിലായിരിക്കണം ഫാബ്uഫൈൽ.

ഉദാഹരണം 1: നമുക്ക് ആദ്യം ഒരു അടിസ്ഥാന Hello World സൃഷ്ടിക്കാം.

# vi fabfile.py

ഫയലിൽ ഈ കോഡിന്റെ വരികൾ ചേർക്കുക.

def hello():
       print('Hello world, Tecmint community')

ഫയൽ സേവ് ചെയ്ത് താഴെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# fab hello

ലോക്കൽ മെഷീനിൽ അപ്ടൈം കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനുള്ള ഒരു fabfile.py യുടെ ഉദാഹരണം നോക്കാം.

ഉദാഹരണം 2: ഒരു പുതിയ fabfile.py ഫയൽ ഇനിപ്പറയുന്ന രീതിയിൽ തുറക്കുക:

# vi fabfile.py

കൂടാതെ ഇനിപ്പറയുന്ന കോഡിന്റെ വരികൾ ഫയലിൽ ഒട്ടിക്കുക.

#!  /usr/bin/env python
from fabric.api import local
def uptime():
  local('uptime')

തുടർന്ന് ഫയൽ സംരക്ഷിച്ച് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# fab uptime

ഫാബ്രിക് API ഒരു കോൺഫിഗറേഷൻ നിഘണ്ടു ഉപയോഗിക്കുന്നു, അത് ഫാബ്രിക് ചെയ്യുന്നതിനെ നിയന്ത്രിക്കുന്ന മൂല്യങ്ങൾ സംഭരിക്കുന്ന env എന്നറിയപ്പെടുന്ന ഒരു അസോസിയേറ്റീവ് അറേയ്ക്ക് പൈത്തണിന്റെ തുല്യമാണ്.

env.hosts എന്നത് ഫാബ്രിക് ടാസ്uക്കുകൾ പ്രവർത്തിപ്പിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്ന സെർവറുകളുടെ ഒരു ലിസ്റ്റാണ്. നിങ്ങളുടെ നെറ്റ്uവർക്ക് 192.168.0.0 ആണെങ്കിൽ നിങ്ങളുടെ fabfile ഉപയോഗിച്ച് ഹോസ്റ്റ് 192.168.0.2, 192.168.0.6 എന്നിവ കൈകാര്യം ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ env.hosts കോൺഫിഗർ ചെയ്യാം:

#!/usr/bin/env python
from  fabric.api import env
env.hosts = [ '192.168.0.2', '192.168.0.6' ]

മുകളിലെ കോഡിന്റെ വരി നിങ്ങൾ ഫാബ്രിക് ടാസ്uക്കുകൾ പ്രവർത്തിപ്പിക്കുന്ന ഹോസ്റ്റുകളെ മാത്രമേ വ്യക്തമാക്കൂ, പക്ഷേ കൂടുതലൊന്നും ചെയ്യില്ല. അതിനാൽ നിങ്ങൾക്ക് ചില ജോലികൾ നിർവചിക്കാം, ഫാബ്രിക് നിങ്ങളുടെ റിമോട്ട് മെഷീനുകളുമായി സംവദിക്കാൻ ഉപയോഗിക്കാവുന്ന ഒരു കൂട്ടം ഫംഗ്ഷനുകൾ നൽകുന്നു.

നിരവധി ഫംഗ്ഷനുകൾ ഉണ്ടെങ്കിലും, ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്നവ ഇവയാണ്:

  1. റൺ - ഇത് ഒരു റിമോട്ട് മെഷീനിൽ ഒരു ഷെൽ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നു.
  2. ലോക്കൽ - ലോക്കൽ മെഷീനിൽ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്ന.
  3. sudo – ഇത് റൂട്ട് പ്രത്യേകാവകാശങ്ങളോടെ ഒരു റിമോട്ട് മെഷീനിൽ ഒരു ഷെൽ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നു.
  4. Get – ഇത് റിമോട്ട് മെഷീനിൽ നിന്ന് ഒന്നോ അതിലധികമോ ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുന്നു.
  5. പുട്ട് – ഇത് റിമോട്ട് മെഷീനിലേക്ക് ഒന്നോ അതിലധികമോ ഫയലുകൾ അപ്uലോഡ് ചെയ്യുന്നു.

ഉദാഹരണം 3: ഒന്നിലധികം മെഷീനുകളിൽ ഒരു സന്ദേശം പ്രതിധ്വനിപ്പിക്കുന്നതിന് ചുവടെയുള്ളത് പോലെ ഒരു fabfile.py സൃഷ്uടിക്കുക.

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def echo():
      run("echo -n 'Hello, you are tuned to Tecmint ' ")

ടാസ്ക്കുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# fab echo

ഉദാഹരണം 4: ലോക്കൽ മെഷീനിൽ അപ്uടൈം കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്യുന്നതിന് നിങ്ങൾ മുമ്പ് സൃഷ്uടിച്ച fabfile.py നിങ്ങൾക്ക് മെച്ചപ്പെടുത്താം, അതുവഴി അത് അപ്uടൈം കമാൻഡ് പ്രവർത്തിപ്പിക്കുകയും ഒന്നിലധികം df കമാൻഡ് ഉപയോഗിച്ച് ഡിസ്uക് ഉപയോഗം പരിശോധിക്കുകയും ചെയ്യുന്നു. യന്ത്രങ്ങൾ ഇനിപ്പറയുന്ന രീതിയിൽ:

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def uptime():
      run('uptime')
def disk_space():
     run('df -h')

ഫയൽ സംരക്ഷിച്ച് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# fab uptime
# fab disk_space

ഉദാഹരണം 4: ഒരു റിമോട്ട് ലിനക്സ് സെർവറിൽ LAMP (Linux, Apache, MySQL/MariaDB, PHP) സെർവർ വിന്യസിക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം നോക്കാം.

റൂട്ട് പ്രത്യേകാവകാശങ്ങൾ ഉപയോഗിച്ച് വിദൂരമായി LAMP ഇൻസ്റ്റാൾ ചെയ്യാൻ അനുവദിക്കുന്ന ഒരു ഫംഗ്ഷൻ ഞങ്ങൾ എഴുതും.

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def deploy_lamp():
  run ("yum install -y httpd mariadb-server php php-mysql")
#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def deploy_lamp():
  sudo("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql")

ഫയൽ സംരക്ഷിച്ച് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# fab deploy_lamp

ശ്രദ്ധിക്കുക: വലിയ ഔട്ട്uപുട്ട് കാരണം, ഈ ഉദാഹരണത്തിനായി ഒരു സ്uക്രീൻകാസ്റ്റ് (ആനിമേറ്റഡ് gif) സൃഷ്uടിക്കുന്നത് ഞങ്ങൾക്ക് സാധ്യമല്ല.

ഫാബ്രിക്കും അതിന്റെ സവിശേഷതകളും മുകളിൽ നൽകിയിരിക്കുന്ന ഉദാഹരണങ്ങളും ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇപ്പോൾ Linux സെർവർ മാനേജ്uമെന്റ് ടാസ്uക്കുകൾ ഓട്ടോമേറ്റ് ചെയ്യാൻ കഴിയും…

  1. സഹായ വിവരങ്ങളും ലഭ്യമായ കമാൻഡ് ലൈൻ ഓപ്ഷനുകളുടെ ഒരു നീണ്ട ലിസ്റ്റും കാണുന്നതിന് നിങ്ങൾക്ക് fab -help പ്രവർത്തിപ്പിക്കാം.
  2. ഒരു പ്രധാന ഓപ്uഷൻ –fabfile=PATH ആണ്, അത് മറ്റൊരു പൈത്തൺ മൊഡ്യൂൾ ഫയൽ ഇമ്പോർട്ടുചെയ്യാൻ നിങ്ങളെ സഹായിക്കുന്നു, തുടർന്ന് fabfile.py.
  3. വിദൂര ഹോസ്റ്റുകളിലേക്ക് കണക്റ്റുചെയ്യുമ്പോൾ ഉപയോഗിക്കേണ്ട ഉപയോക്തൃനാമം വ്യക്തമാക്കുന്നതിന്, –user=USER ഓപ്ഷൻ ഉപയോഗിക്കുക.
  4. പ്രാമാണീകരണത്തിനും കൂടാതെ/അല്ലെങ്കിൽ സുഡോയ്uക്കും പാസ്uവേഡ് ഉപയോഗിക്കുന്നതിന്, –password=PASSWORD ഓപ്ഷൻ ഉപയോഗിക്കുക.
  5. NAME എന്ന കമാൻഡിനെക്കുറിച്ചുള്ള വിശദമായ വിവരങ്ങൾ പ്രിന്റ് ചെയ്യാൻ, –display=NAME ഓപ്ഷൻ ഉപയോഗിക്കുക.
  6. ഫോർമാറ്റുകൾ കാണുന്നതിന് –ലിസ്റ്റ് ഓപ്ഷൻ, ചോയ്uസുകൾ: ഹ്രസ്വമായ, സാധാരണ, നെസ്റ്റഡ്, –list-format=FORMAT ഓപ്ഷൻ ഉപയോഗിക്കുക.
  7. സാധ്യമായ കമാൻഡുകളുടെ ലിസ്റ്റ് പ്രിന്റ് ചെയ്യാനും പുറത്തുകടക്കാനും -list ഓപ്ഷൻ ഉൾപ്പെടുത്തുക.
  8. -config=PATH ഓപ്ഷൻ ഉപയോഗിച്ച് ഉപയോഗിക്കേണ്ട കോൺഫിഗറേഷൻ ഫയലിന്റെ സ്ഥാനം നിങ്ങൾക്ക് വ്യക്തമാക്കാം.
  9. നിറമുള്ള പിശക് ഔട്ട്uപുട്ട് പ്രദർശിപ്പിക്കുന്നതിന്, -colorize-errors ഉപയോഗിക്കുക.
  10. പ്രോഗ്രാമിന്റെ പതിപ്പ് നമ്പർ കാണാനും പുറത്തുകടക്കാനും -version ഓപ്ഷൻ ഉപയോഗിക്കുക.

സംഗ്രഹം

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

റഫറൻസ്: ഫാബ്രിക് ഡോക്യുമെന്റേഷൻ