随着目前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 ------------------'
此脚本后期会优化,后期不断的更新,欢迎大家拍砖!
推荐阅读:
Python 的详细介绍:请点这里
Python 的下载地址:请点这里