python自動刪除minio過期文件


#!/usr/local/bin/python3
# -*- coding:utf-8 -*-

# ====================================================
# Author: changbo - 541330702@qq.com
# Last modified: 2022-01-07
# Filename: miniodeloldfile.py
# Description:  Del old minio file
# http://www.cnblogs.com/changbo
# ====================================================

import logging
from minio import Minio
import time, os
import datetime
import threading

logging.basicConfig(
    level=logging.INFO,
    filename='Del.log',
    filemode='a',
    format='%(asctime)s %(name)s %(levelname)s--%(message)s'
)

nowtime = time.strftime("%Y-%m-%d", time.localtime())
minioClient = Minio(
        'x.x.x.x:9000',
        access_key='xxx',
        secret_key='xxxx',
        secure=False
    )


# 確定要刪除的文件
def del_bucket_files(bucketname):
    try:
        object = minioClient.list_objects(bucketname, prefix=None, recursive=True)
        for obj in object:
            minioFile = 'minio/' + obj.bucket_name + '/' + obj.object_name
            date1 = time.strptime(str(obj.last_modified).split(' ')[0], "%Y-%m-%d")
            date2 = time.strptime(nowtime, "%Y-%m-%d")
            date4 = datetime.datetime(date2[0], date2[1], date2[2])
            date3 = datetime.datetime(date1[0], date1[1], date1[2])
            if date3 != date4:
                if int(str(date4-date3).split(' ')[0]) >= 7:
                    print(str(obj.last_modified).split(' ')[0], minioFile)
                    os.system('/root/prometheus-2.26.0.linux-amd64/mc rm ' + minioFile)
    except Exception as e:
        print(e)


if __name__ == '__main__':
    thread1 = threading.Thread(target=del_bucket_files, args=("bucketname1",))
    thread1.start()
    thread2 = threading.Thread(target=del_bucket_files, args=("bucketname2",))
    thread2.start()
    thread3 = threading.Thread(target=del_bucket_files, args=("bucketname3",))
thread3.start()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM