python自动拉取备份压缩包并删除3天前的旧备份

业务场景,异地机房自动拉取已备份好的tar.gz数据库压缩包,并且只保留3天内的压缩包文件,用python实现

#!/usr/bin/env python

import requests,time,os,datetime,platform
from threading import Thread

#cd backup dir
if platform.system() == ‘Windows‘:
    os.chdir(‘D:\python\mysqlbackup_all‘)
elif platform.system() == ‘Linux‘:
    os.chdir(‘/data/mysqlbackup_all/‘)

#Get 3 days ago
now_time = datetime.datetime.now()
yes_time = now_time + datetime.timedelta(days=-3)
yes_time_3day_ago = yes_time.strftime(‘%Y%m%d%H%M‘).replace(‘30‘,‘00‘)

#Get the whole point time
Data_time = time.strftime("%Y%m%d%H%M",time.localtime())
Data_time_30Minute = Data_time.replace(‘30‘,‘00‘)

#request url
def for_url(url_name):
    for i in url_name:

        file_url = ‘http://186.87.1.98/‘+i + ‘/‘+ i + ‘_aaa_‘ + ‘201801311800‘ +‘.tar.gz‘

        r = requests.get(file_url, stream=True)
        with open(i + ‘_‘+Data_time + ‘.tar.gz‘, ‘wb‘) as didi:
            for chunk in r.iter_content(chunk_size=1024 * 1024):
                if chunk:
                    didi.write(chunk)
        print file_url

#delete 3 day ago tar.gz file
def delete_3day(url_name):
    for i in url_name:
        targat_dir = i + ‘_‘ + yes_time_3day_ago + ‘.tar.gz‘
        delete_home_ssdb = ‘rm %s -rf ‘ % targat_dir
        os.system(delete_home_ssdb)

def main():
    url_name = (‘123‘, ‘456‘, ‘789‘, ‘aa‘, ‘qq‘, ‘baidu‘, ‘163‘)
    t = Thread(target=for_url(url_name),args=url_name)
    t.start()
    t.join()
    delete_3day(url_name)

if __name__ == ‘__main__‘:
     main()

原文地址:https://www.cnblogs.com/rayong/p/8395078.html

时间: 2024-11-06 11:43:05

python自动拉取备份压缩包并删除3天前的旧备份的相关文章

在idea中编写自动拉取、编译、启动springboot项目的shell脚本

idea 开发环境搭建 idea中安装shell开发插件 服务器具备的条件 已经安装 lsof(用于检查端口占用) 已安装 git 安装 maven 有 java 环境 背景 代码提交到仓库后,需要在服务器上重新部署 springboot 的代码,每次自己打jar包上传到服务器步骤太繁琐,考虑把要使用的命令放在脚本中 初始化拉取指定分支的代码 blog_int.sh #!/usr/bin/env bash cd /data/code/ git clone -b V3.0.0 [email pro

SpringBoot项目执行脚本, 自动拉取最新代码并重启

gitPullThenRestart.sh # 日期: 20191230 # 作者: 何鹏举 # 说明: 项目部署在阿里云上, 每次编译打包上传比较麻烦, 因此编写此脚本, 用于应用内可以点击按钮进行自动重启. # 备注: 1) 阿里云的插件也是需要每次上传到OSS再启动, 上传的jar包比较大(大部分是第三方依赖), 感觉不好 # 2) 使用jenkins, 就一个项目再去搭建一套jenkins, 必要性也不是很大 # 以下代码中 /root/hekele 为git clone的项目路径, /

docker镜像拉取、运行、删除

1.拉去hello-world镜像并运行 docker pull hello-world 拉取hello-world镜像Using default tag: latestlatest: Pulling from library/hello-world1b930d010525: Pull complete Digest: sha256:4fe721ccc2e8dc7362278a29dc660d833570ec2682f4e4194f4ee23e415e1064Status: Downloaded

sql server 批量备份数据库及删除N天前的备份数据

很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: 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 -

用python+selenium抓取微博24小时热门话题的前15个并保存到txt中

抓取微博24小时热门话题的前15个,抓取的内容请保存至txt文件中,需要抓取阅读数 #coding=utf-8 from selenium import webdriver import unittest from time import sleep class Weibo(unittest.TestCase): def setUp(self): self.dr = webdriver.Chrome() self.hot_list = self.get_weibo_hot_topic() sel

python 自动拉起进程脚本

cat /usr/local/ssdb/moniter_ssdb.py #!/usr/bin/env python import os import sys import commands #ssdb port Precosslist = ('17000','17005','17010','17015','17020','17025','17030', '17035','17040','17045','17050','17055','17060','17065', '17070','17075'

MSSQL Server2012备份所有数据库到网络共享盘上面,并自动删除几天前的备份。。

--要备份到哪一服务的IP网络位置,要提前打开文件夹共享.这里还要输入用户名和密码,下面这一行是建立共享 exec master..xp_cmdshell 'net use \\192.168.8.108\DBBak Password /user:192.168.1.108\administrator',NO_OUTPUT go declare @s nvarchar(200),@del nvarchar(200)select @s='',@del='' --自动备份,并删除4天前的备份.可以随

Jenkins拉取github库代码执行构建

前言 上篇文章写了关于定时构建,以及构建后发送邮件的内容,但是构建时运行的代码是我们手动添加到Jenkins工作空间的.这篇文章我们说一说自动从GitHub远程库拉取代码,执行构建,废话不多说,开始!(开始之前,我们需要安装GitHub插件:GitHub plugin 如何安装自行百度吧) 新建项目 仍然和上一篇文章一样,我们新建一个自由风格的项目(我这里就不新建了 我直接在原有的项目基础上配置) 获取GitHub地址 我们项目所在路径的地址 项目配置 General 输入项目描述, 勾选Git

网页滚动到底部,拉取数据

网页滚动模式 //滚到到底部自动拉取数据 //页面滚到底部异步加载下一页数据 $(window).scroll(function () { //已经滚动到上面的页面高度 var scrollTop = parseFloat($(this).scrollTop()), //页面高度 scrollHeight = $(document).height(), //浏览器窗口高度 windowHeight = parseFloat($(this).height()), totalHeight = scr