#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019-12-05 14:39
# @Author : Anthony
# @Email : ianghont7@163.com
# @File : check_gitlab.py # import requests
# import re
# import time
#
# url = "http://gitlab.test.cn/api/v3/projects?private_token=xxxxx"
#
# response = requests.get(url)
# print(response.json())
# import os
import time
import datetime
import threading
import subprocess # 注意点,千万要注意不要和内置方法重名啊!!!! # 文件所在路径
source_path = "/home/xxx/xxx/" # 当前时间
now_time = datetime.datetime.now() # 获取全部文件名称
source_path_lists = os.listdir(source_path) # 清理过期文件,只保留7天内
def remove_dated_files():
# 选择要提前的天数
change_time = now_time + datetime.timedelta(days=-2)
# 格式化处理时间戳
change_time_format = change_time.strftime('%Y%m%d')
for line in source_path_lists:
file_ctime = int(line.split('_')[0].strip())
file_local_time = time.localtime(file_ctime)
# 文件名中的时间戳
file_local_time_end = time.strftime("%Y%m%d", file_local_time)
# 清理2天前的过期文件
if file_local_time_end <= change_time_format:
all_file_path = source_path + line
# 清理过期文件
os.remove(all_file_path)
print('2天前过期文件 %s 清理完成,该文件创建时间:%s' % (all_file_path, file_local_time_end)) def get_gitlab_backup_fils():
for line in source_path_lists:
all_file_path = source_path + line
print(all_file_path)
args = "scp -P xxxx %s root@192.168.xx.xx:/home/data/gitlabbackup"%all_file_path
shell_runnings = subprocess.Popen(args,
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,)
out, err = shell_runnings.communicate()
for line in out.splitlines():
print('开始传输:%s'%line) if __name__ == "__main__":
threads_lists = [threading.Thread(target=remove_dated_files),
threading.Thread(target=get_gitlab_backup_fils)]
for i in threads_lists:
i.start()
 

定期备份和清理gitlab文件的更多相关文章

  1. SQL Server 2005数据库定期备份(非常详细)与 SQL Server 2005数据库备份定期清理

     SQL Server 2005数据库定期备份 分类: SQL Server 20052011-01-06 16:25 3320人阅读 评论(1) 收藏 举报 sql server数据库sqlserv ...

  2. Linux中设置定期备份oracle数据库

    昨天装好了oracle,今天尝试一下自动备份,我这两天装linux和oracle的目的就是这个. 如果是sql server,定期备份可以利用sql server的management studio来 ...

  3. oracle 清理跟踪文件trc,trm

    oracle的日志文件有以下几种: 警告日志,trace日志,audit日志,redo日志,归档日志 a.警告日志:也就是alert log,使用初始化参数 show parameter backgr ...

  4. 【mysql】备份篇2:使用java程序定期备份mysql数据库

    承接备份篇1, 在备份篇1中,使用dat文件加+系统计划任务程序完成mysql定期备份任务 在这一篇,备份使用java程序定期备份mysql数据库. 下面代码和程序思想给出: package com. ...

  5. 远程linux服务器mysql数据库定期备份和删除

    网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了. 1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过s ...

  6. oracle导入命令,记录一下 数据库日志太大,清理日志文件

    oracle导入命令,记录一下 工作中用到了,这个命令,记录一下,前提要安装imp.exe imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\wo ...

  7. RMAN备份之丢失数据文件及控制文件的恢复

    About Recovery with a Backup Control FileIf all copies of the current control file are lost or damag ...

  8. 关于Linux系统清理/tmp/文件夹的原理

    转自:http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html 我们知道 ...

  9. 通过 bsondump 命令工具 解析备份产生的bson文件

    bsondump命令是将BSON格式的文件转换为可读性更强的文件格式,例如转为为JSON 格式的文档,bsondump默认转换为json格式的文档. 当通过mongodump命令进行备份时,如果有参数 ...

随机推荐

  1. 12.linux上Apache虚拟主机的建立和https协议网站建立

    一.Apache虚拟主机的建立   虚拟web主机 在同一台服务器上建立多个web站点,每个站点不独占用一台真正的服务器       1.建立dns解析 两个域名同一个ip               ...

  2. python 输出‘\xe8\xb4\x9d\xe8\xb4\x9d’, ‘\xe6\x99\xb6\xe6\x99\xb6’, ‘\xe6\xac\xa2\xe6\xac\xa2’]

    如上代码块,结果输出为: [‘\xe8\xb4\x9d\xe8\xb4\x9d’, ‘\xe6\x99\xb6\xe6\x99\xb6’, ‘\xe6\xac\xa2\xe6\xac\xa2’] 北京 ...

  3. java判断A字符串中是否包含B字符

    java.lang.String类提供的方法 public boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true. 例如: ...

  4. sqlserver2016 kb补丁

    1. win2012r2 安装时 总是提示: 然后费了半天劲 下载下来又提示 找了一下 需要先安装这么一个补丁才可以 KB2919442 然后才能安装上 KB2919355 然后就可以正常安装了:

  5. [Java.File]如果写 File filesFolder = new File("/") ,在windows系统中,filesFolder 会去找哪个盘符? 答案:程序运行路径的根盘符.

    首先这段代码在Unix/Linux系统上会去找根路径,但在Windows系统上会去找C:盘还是D:盘还是其它盘呢? 其实它会去找user.dir所在盘符的根目录,user.dir即用户的当前工作目录, ...

  6. 小D课堂 - 零基础入门SpringBoot2.X到实战_第6节 SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener_24、深入SpringBoot过滤器和Servlet配置过滤器

    笔记 1.深入SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战(核心知识)     简介:讲解SpringBoot里面Filter讲解和使用Servle ...

  7. flutter DateTime日期&时间选择器

    import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'dart:async'; class ...

  8. JQuery中formSerialize()报错:对象不支持"formSerialize"属性或方法

    formSerialize()是jQuery的表单插件中提供的方法. formSerialize()的核心方法是:$.param(data); Form表单经过formSerialize(),被序列化 ...

  9. 【Tomcat】Tomcat 配置JNDI数据源(三)

    数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下:   ①加载数据库驱动程序(Class.forName("数据库驱动类");)   ②连接数据库(Connec ...

  10. 一个兼容 node 与浏览器的模块写法

    一个兼容 node 与浏览器的模块写法 // test.js (function (root, factory) { if (typeof define === 'function' &&am ...