我的编程空间,编程开发者的网络收藏夹
学习永远不晚

rsync多线程备份脚本 --pytho

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

rsync多线程备份脚本 --pytho

闲话少说,脚本奉上,希望对大家有帮助。

#!/bin/env python
#coding=utf8
import os,sys,time,re,threading

now=time.strftime('%Y%m%d')
log_02='/tmp/tongbu_stats_%s.txt' % (now)

# rsync  -t保持稳健时间细细
#        -z对备份的文件传输中压缩处理
#        -r对子目录进行递归处理
#        -p保持file权限
#        -l保持软连接
dict_cmd={
	'test1':'/usr/bin/rsync -tzrlp --stats /usr/local/class="lazy" data-src/2 /tmp/linshi',
	'test2':'/usr/bin/rsync -tzrp --stats /usr/local/class="lazy" data-src/openfire /tmp/linshi0304'
}

def write_title(log_stat):
  file_log=open(log_stat,'a')
  file_log.write('strt_time,end_time,module,Number of files,Number of files transferred,Total file size(byte),Total transferred file size(byte)\n')
  file_log.close()

def write_notes(cmd,log_stat,nam):
  fle=open(log_stat,'a')
  try:
    s_time=time.strftime('%H:%M:%S')
    cmd_put=os.popen(cmd)
    list_tmp=[]
    re_p=re.compile('(Number of files:|Number of files transferred:|Total file size:|Total transferred file size:) (\d+)?')
    for each_line1 in cmd_put:
      for each_line2 in re_p.finditer(each_line1):
        if each_line2 is not None:
          list_tmp.append(each_line2.group(2))
        else:
          pass
    e_time=time.strftime('%H:%M:%S')
    cmd_stat='%s,%s,%s,%s,%s,%s,%s,%s' % (s_time,e_time,nam,list_tmp[0],list_tmp[1],list_tmp[2],list_tmp[3],os.linesep)
    cmd_put.close()
    fle.write(cmd_stat)
  except:
    cmd_stat='%s,%s,%s,%s,%s,%s,%s,%s' % (s_time,e_time,nam,'error','error','error','error',os.linesep)
    fle.write(cmd_stat)
  fle.close()


if __name__=='__main__':
  write_title(log_02)
  threads={}
  for i in dict_cmd:
    t=threading.Thread(target=write_notes,args=(dict_cmd[i],log_02,i))
    print 'exec',i
    threads[i]=t
  for i in dict_cmd:
    threads[i].start()
    time.sleep(10)
    print 'exec',threads[i]
  for i in dict_cmd:
    threads[i].join()


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

rsync多线程备份脚本 --pytho

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

rsync多线程备份脚本 --pytho

闲话少说,脚本奉上,希望对大家有帮助。#!/bin/env python#coding=utf8import os,sys,time,re,threadingnow=time.strftime('%Y%m%d')log_02='/tmp/t
2023-01-31

shell 备份数据库、代码上线的脚本

Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。
2022-06-04

如何使用rsync备份文件/目录到Linux服务器上的Shell脚本

这篇文章将为大家详细讲解有关如何使用rsync备份文件/目录到Linux服务器上的Shell脚本,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用该脚本会以交互的方式实施备份,你需要提供远程
2023-06-28

分享一个MySQL binlog 远程备份脚本

从MySQL5.6开始,mysqlbinlog支持将远程服务器上的binlog实时复制到本地服务器上。mysqlbinlog的实时二进制复制功能并非简单的将远程服务器的日志复制过来,它是通过MySQL 5.6公布的Replication API实时获取二进制事

	分享一个MySQL binlog 远程备份脚本
2019-12-18

python多线程http压力测试脚本

#coding=utf-8import sysimport timeimport threadimport httplib, urllibimport randomimport uuidimport logginglogging.basic
2023-01-31

如何实现远程FTP定时备份Shell脚本

这篇文章主要讲解了“如何实现远程FTP定时备份Shell脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现远程FTP定时备份Shell脚本”吧!先说问题.公司现在有2台服务器,都是c
2023-06-09

python多线程自动备份华为H3C交换

之前试过用expect结合bash脚本备份交换机LOG,但由于是串行执行,设备很多的情况下耗时太长,而且经常出错导致备份不完整。于是在网上找python多线程处理的相关文章,但基本都是基于tftp备份当时运行的配置文件,不能根据自定义巡检命
2023-01-31

Shell脚本模拟多线程功能分享

#!/bin/bashfunction pinghost {ping $1 -c 1 -w 10 |grep rtt|cut -d “/” -f6}tmp_fifofile=”/tmp/$.fifo” # 脚本运行的当前进程ID号作为文
2022-06-04

如何实现可控多线程shell脚本

这篇文章将为大家详细讲解有关如何实现可控多线程shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先来 1 段场景描述:某日,在鹅厂接到了这个任务,需要在Linux服务器中,对几千个IP进行一次P
2023-06-09

简单的远程FTP定时备份Shell脚本分享

先说问题.公司现在有2台服务器,都是centos系统,一台本地(局域网),一台则在电信机房.因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地. 解决方
2022-06-04

python使用多线程备份数据库的步骤

目录一、为什么要用线程池二、线程池练习演示例子1:使用submit方法演示例子2:使用map方法三、线上数据库测试总结:一、为什么要用线程池 1.多线程比单线程运行要快很多,比如在我工作中,每台服务器至少8个库以上,用单线程备份太慢了。 2
2022-06-02

如何编写Shell脚本模拟多线程功能

这篇文章主要讲解了“如何编写Shell脚本模拟多线程功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Shell脚本模拟多线程功能”吧!代码如下:#!/bin/bashfunctio
2023-06-09

使用shell脚本每天对MySQL多个数据库自动备份的讲解

linux下使用shell脚本,结合crontab,定时备份mysql下多个数据库,每次备份的数据存放于以日期命名的文件夹中,同时删除超过设定的备份保留时间的数据。 以下例子设定备份保留时间为1个月(-1month),可根据需求修改#! /
2022-06-04

如何在Shell中实现“多线程”执行脚本文件

本篇内容介绍了“如何在Shell中实现“多线程”执行脚本文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!即比如我有100个可执行文件,互相
2023-06-09

分享一个入门级可控多线程shell脚本代码

说到shell可控多线程,网上分享的大部分是管道控制的方案。这种方案,张戈博客也曾经实战并分享过一次:《Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点》,感兴趣的朋友可以看看。 分享一个入门级可控多线程shell脚本方案
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录