<b>2.6 生産環境下的shell和python腳本分類</b>
生産環境下的shell和python腳本的作用還是挺多的,這裡根據2.1節所介紹的日常工作中shell腳本的作用,将生産環境下的shell腳本分為備份類、監控類、統計類、運維開發類和自動化運維類。前面3類從字面意義上看比較容易了解,後面的兩類需要稍微解釋一下,運維開發類腳本是利用shell或python實作一些非系統類的管理工作,比如svn的釋出程式等;而自動化運維類腳本則是利用shell或python來自動替我們做一些煩瑣的工作,比如自動生成并配置設定密碼給開發組的使用者,或者自動安裝lnmp環境等。下面會就這些分類列舉一些具體的執行個體,以便于大家了解。另外值得說明的一點是,這些執行個體都源自于筆者的線上環境,大家拿過來稍微改動一下ip或備份一下目錄基本上就可以直接使用了。
另外,因為現在的線上業務大多采用的是aws ec2機器,基本上采用的都是amazon linux系統,是以這裡先跟大家簡單介紹下amazon linux系統。
amazon linux系統由amazon web services (aws)提供,旨在為amazon ec2 上運作的應用程式提供穩定、安全、高性能的執行環境。此外,它還包括能夠與aws輕松內建的軟體包,比如啟動配置工具和許多常見的aws庫及工具等。aws為運作amazon linux系統的所有執行個體提供持續的安全性和維護更新。
(1)啟動并連接配接到amazon
linux執行個體
要啟動amazon linux執行個體,請使用 amazon linux ami(映像)。aws向amazon ec2 使用者提供amazon linux ami,無需額外費用。找到需要的ami後,記下ami id,然後就可以使用ami id 來啟動并連接配接到相應的執行個體了。
預設情況下,amazon linux不支援遠端根ssh。此外,密碼驗證已禁用,以防止強力 (brute-force)密碼攻擊。要在 amazon linux 執行個體上啟用 ssh 登入,必須在執行個體啟動時為其提供密鑰對,還必須設定用于啟動執行個體的安全組以允許 ssh 通路。預設情況下,唯一可以使用
ssh 進行遠端登入的賬戶是
ec2-user;此賬戶還擁有 sudo 特權。如果希望啟動遠端根登入,請注意,其安全性不及依賴密鑰對和二級使用者。
有關啟動和使用 amazon linux 執行個體的資訊,請參閱啟動執行個體。有關連接配接到amazon linux執行個體的更多資訊,請參閱連接配接到linux執行個體。
(2)識别 amazon linux
ami 映像
每個映像都包含唯一的 /etc/image-id,用于識别 ami。此檔案包含了有關映像的資訊。
下面是/etc/image-id檔案示例,指令如下:
cat
/etc/image-id
指令顯示結果如下所示:
image_name="amzn-ami-hvm"
image_version="2015.03"
image_arch="x86_64"
image_file="amzn-ami-hvm-2015.03.0.x86_64.ext4.gpt"
image_stamp="366c-fff6"
image_date="20150318153038"
recipe_name="amzn
ami"
recipe_id="1c207c1f-6186-b5c9-4e1b-9400-c2d8-a3b2-3d11fdf8"
其中,image_name、image_version 和 image_arch 項目來自 amazon 用于建構映像的配方。image_stamp 隻是映像建立期間随機生成的唯一十六進制值。image_date項目的格式為 yyyymmddhhmmss,是映像建立時的 utc 時間。recipe_name 和 recipe_id是amazon用于建構映像的建構配方的名稱和id,用于識别目前運作的 amazon
linux 的版本。從yum存儲庫安裝更新時,此檔案不會更改。
amazon linux 包含 /etc/system-release 檔案,用于指定目前安裝的版本。此檔案通過 yum 進行更新,是 system-release rpm 的一部分。
下面是 /etc/system-release 檔案示例,指令如下:
/etc/system-release
amazon linux ami
release 2015.03
amazon linux系統這部分内容摘錄自http://docs.aws.amazon.com/zh_cn/awsec2/latest/userguide/amazonlinuxamibasics.html#identifyinglinuxami_images