日志导入金融云oss

Posted linhankbl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日志导入金融云oss相关的知识,希望对你有一定的参考价值。

#! /usr/bin/env python
# ! -*- coding:utf8 -*-

from __future__ import print_function
import oss2
import os, sys
import datetime
import socket
from pymongo import MongoClient

hostName = socket.gethostname()
today = datetime.date.today()
yesterday = today + datetime.timedelta(days=-1)
logday = str(yesterday)

auth = oss2.Auth(‘LTAIz5gSKA8bhvG3‘, ‘ZVbFGrLIZfn9sYTuRX0nTDSpkrdsMb‘)
imgs_bucket = oss2.Bucket(auth, ‘http://oss-cn-hzfinance.aliyuncs.com‘, ‘logspace‘)
# 本地资源路径
apps = (‘/home/admin/logs/biportal‘, ‘/home/admin/logs/zdal‘)
application = ‘cmdb‘ #应用名

uploads_dirs = [app for app in apps]
local_res_files = []
log_files = {}


# 文件归类,获取要上传的本地日志文件的所有文件的绝对路径
def getLocalFiles(dir):
if os.path.exists(dir):
for res in os.listdir(dir):
ab_dir = dir + res
if os.path.isfile(ab_dir):
if logday in res:
log_files[res] = ab_dir
if os.path.isdir(ab_dir):
getLocalFiles(ab_dir)


# 上传文件
def putFileToBucket():
for key, value in log_files.items():
result = imgs_bucket.put_object_from_file(application + ‘/‘ + hostName + ‘/‘ + logday + ‘/‘ + key, value,headers={‘Content-Type‘: ‘text/plain; charset=utf-8‘}, progress_callback = percentage)
now_time = str(datetime.datetime.now())
print(value)
conndb(hostName,key,value,now_time,application + ‘/‘ + hostName + ‘/‘ + logday)
if (os.path.exists(value)):
os.remove(value)



# 起始程序
def start(dirs):
for dir in dirs:
getLocalFiles(dir)


# 进度条功能
def percentage(consumed_bytes, total_bytes):
if total_bytes:
rate = int(100 * (float(consumed_bytes)) / (float(total_bytes)))
print(‘\r{0}%‘.format(rate), end=‘‘)
sys.stdout.flush()

#信息输出mongo
def conndb(servername,filename,filedir,updatetime,updatedir):
conn = MongoClient(‘IP‘, 27017)
db = conn.logdb
my_set = db.logfile
my_set.insert({"servername":servername,"filename":filename,"filedir":filedir,"updatetime":updatetime,"updatedir":updatedir})


if __name__ == "__main__":
start(uploads_dirs)
putFileToBucket()

以上是关于日志导入金融云oss的主要内容,如果未能解决你的问题,请参考以下文章

互融云融资担保系统:助力企业解决融资难题

互融云区块链合约存证:规避风险溯源合约!

pod导入融云路径报错解决办法

互融云融资租赁系统为中小企业融资赋能

互融云通过ISO27001认证,信息安全获国际权威认证

互融云十大全新区块链技术应用场景落地