发布时间:2019-09-18 07:22:09编辑:auto阅读(1559)
随着目前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 ------------------'
此脚本后期会优化,后期不断的更新,欢迎大家拍砖!上面的脚本用的打包命令是zip,如果觉得效率不高,还可以用tar命令,把zip_command那一段后面改成如下:
zip_command = "tar -czvf '%s' %s " % (TARGET, ' '.join(SOURCE)) 这样也OK!。
最新修改脚本内容如下:
#!/usr/bin/env python #auto backup system files #by wugk 2014-06-24 import os,sys,time date = time.strftime('%Y%m%d') source = ['/boot','/etc','/var/log/'] dir = '/data/backup/' r_dir = dir + date + '/' f_name = 'system_bak.tar.gz' r_name = r_dir + f_name print ''' \033[32m+++++++++++Welcome to use python backup scripts for Linux ++++++++++ ++++++++++++Now Time is bei jing date %s +++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \033[0m''' % date time.sleep(2) def all_bak(): if os.path.exists(r_dir) == False: os.makedirs(r_dir) else: print 'This DIR %s is exists!' % r_dir tar_cmd = 'tar -czvf %s %s ' % (r_name,' '.join(source)) if os.system(tar_cmd) == 0: print 'This Backup System Files %s success !' % r_name else: print "This Backup system Files %s Failed !" % r_name try: if sys.argv[1] == 'all_bak': print 'Please waiting executing Command ......' all_bak() except IndexError: print '\033[31m-------------------------------------------------\033[0m' print "\033[31mUsage: {%s all_bak|help}\033[0m" % sys.argv[0] ##Define add backup try: if sys.argv[1] == 'help': print '\033[31m-------------------------------------------------\033[0m' print "\033[31mUsage: {%s all_bak|help}\033[0m" % sys.argv[0] except IndexError: pass try: if len(sys.argv[1]) == 0: print '\033[31m-------------------------------------------------\033[0m' print "\033[31mUsage: {%s all_bak|help}\033[0m" % sys.argv[0] except IndexError: pass
附一张图:
Tar备份脚本如下:
上一篇: Python全栈开发之网络编程
下一篇: python+selenium+auto
47840
46387
37279
34731
29312
25970
24909
19949
19541
18026
5790°
6411°
5926°
5960°
7063°
5911°
5942°
6437°
6404°
7776°