Python自动化备份系统及网站

简介:

随着目前IT迅猛的发展,自动化运维对于Linux运维人员也越来越重要,传统的运维方式靠大量的人力,现在也逐渐转向自动化运维,我们常见的跟自动化有关的软件有哪些呢。

今天我们来简单列举一下:kickistart、puppet、cobbler、chef、func、shell命令自动化等等各种自动化工具,今天我们来研究一下使用Python来编写自动化脚本,那python设计的目标是什么呢?

Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和惊喜。

下面直接上脚本如下:(我也参考的网上的文章,自己根据实际情况修改,希望大家一起来交流)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/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!。

最新修改脚本内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/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

附一张图:

114235475.png

Tar备份脚本如下:

wKioL1MW3TTz4hd1AAJ7y4M14iA203.jpg



本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1321851

相关文章
|
5天前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
43 14
|
9天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
17天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品安全追溯系统的深度学习模型
使用Python实现智能食品安全追溯系统的深度学习模型
41 4
|
17天前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
7天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
62 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
8天前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习的果蔬识别系统实现
果蔬识别系统,主要开发语言为Python,基于TensorFlow搭建ResNet卷积神经网络算法模型,通过对12种常见的果蔬('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜')图像数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django框架搭建Web网页端可视化操作界面,以下为项目实现介绍。
19 4
基于Python深度学习的果蔬识别系统实现
|
10天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
21 7
|
9天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
20 4
|
8天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
15天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录