隨著目前IT迅猛的發展,自動化運維對於Linux運維人員也越來越重要,傳統的運維方式靠大量的人力,現在也逐漸轉向自動化運維,我們常見的跟自動化有關的軟件有哪些呢。
今天我們來簡單列舉一下:kickistart、puppet、cobbler、chef、func、shell命令自動化等等各種自動化工具,今天我們來研究一下使用Python來編寫自動化腳本,那python設計的目標是什麼呢?
Python的設計哲學是“優雅”、“明確”、“簡單”。因此,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發者中通常是難以忍受的。Python開發者的哲學是“用一種方法,最好是只有一種方法來做一件事”。
Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像它們的語法那樣經常有特殊情況和驚喜。
下面直接上腳本如下:(我也參考的網上的文章,自己根據實際情況修改,希望大家一起來交流)
#!/usr/bin/python
#Filename: Auto Backup root DIR and file
#write wugk 2013-11-07
import os
import time
#Define SOURCE and TARGET DIR
SOURCE = ['/root','/var/www/html','/etc']
TARGET_DIR = '/data/backup/'
NAME_FILE = 'System_bak'
today = TARGET_DIR + time.strftime('%Y%m%d')
TARGET = TARGET_DIR + time.strftime('%Y%m%d') + "/" + NAME_FILE + '.zip'
zip_command = "zip -qr '%s' %s " % (TARGET, ' '.join(SOURCE))
#Scripts Exec process Start
print '-------------------------------------------------'
print "The Scripts Backup Starting,Please waiting ......"
print
#Judge today DIR
if not os.path.exists(today):
os.mkdir(today) # make DIRectory
print 'Successfully created Directory', today
#Exec Zip Command to Dir or file
if os.system(zip_command) == 0:
print 'Successful backup to', TARGET
else:
print 'Backup Failed !'
#print Backup end info
print
os.system('sleep 2')
print '--------------- The scripts Exec Done ------------------'
此腳本後期會優化,後期不斷的更新,歡迎大家拍磚!