设为首页 收藏本站
查看: 1090|回复: 0

[经验分享] python备份脚本解析

[复制链接]

尚未签到

发表于 2018-8-4 13:06:31 | 显示全部楼层 |阅读模式
  脚本简介:
  1)备份源目录的文件
  2)目标文件以tar 和bzip2的方式压缩之后放在当前日期文件夹下
  4)备份文件以时间注释和执行脚本的用户命名
  3)主要用到了时间模块,系统模块,和getpass模块
  4)source 可以修改为想备份的目录,因为备份目录一般不经常变动,所以这里写死了
  


  • #!/bin/env python
  • #告诉解释器查找pyton解释器并且使用它
  • #_*_encoding:utf8_*_
  • #指定编码为utf8编码
  • import os
  • #导入系统模块
  • import time
  • #导入时间模块
  • import getpass
  • #导入获取用户模块
  • source = ['/oracle/', '/oradata/oraInventory']
  • #定义备份源目录
  • target_dir = '/oradata/backup/'
  • #定义备份目标目录
  • user = getpass.getuser()
  • #定义使用备份脚本的用户
  • today = target_dir + time.strftime('%Y%m%d')
  • #定义今日的日期
  • now = time.strftime('%H%M%S')
  • #定义现在的时间
  • comment = raw_input('请输入一个注释 --> ')
  • #定义注释为输入的字符串
  • if len(comment) == 0:
  • #检查输入的注释是否为空
  •     target = today + now + '_' + user + '_' + 'tar.bz2'
  • #如果注释为空,备份文件的文件名为日期时间运行脚本用户
  • else:
  •     target = today +  now + '_' + comment + '_' + user + '_' + 'tar.bz2'
  • #如果非空,则使用日期时间注释用户为文件名
  • if not os.path.exists(today):
  • #检查备份目录下的时间目录是否不存在

  •     os.mkdir(today)
  • #如果不存在创建文件夹
  •     print '成功创建文件夹', today
  • else:
  • #存在,则打印
  •     print today,'文件夹已经存在'
  • time.sleep(5)
  • #暂停五秒
  • zip_command = "tar -cjPf '%s' %s" % (target, ' '.join(source))
  • #定义本备份命令

  • if os.system(zip_command) == 0:
  • #使用系统环境(相当于shell执行备份命令,如果成功返回0)
  •     print ' 成功备份为:', target
  • else:
  •     print '备份失败' ,target
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-546505-1-1.html 上篇帖子: Python学习入门基础教程(learning Python)--3.3.2 Python的关系运算 下篇帖子: python—Celery异步分布式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表