python3实现gitlab备份文件上传腾讯云COS
- 开发
- 29
-
gitlab备份文件上传腾讯云COS
- 脚本说明
脚本名称:upload.py
假设gitlab备份文件目录:/opt/gitlab/backups
gitlab备份文件格式:1706922037_2024_02_06_14.2.1_gitlab_backup.tar
1.脚本需和gitlab备份文件同级目录
2.根据备份文件中的日期判断是否上传,如今天的日期存在于备份文件名列表中,则上传今天备份文件,反之不上传。
3.如需上传此目录下所有文件,则去掉日期判断逻辑即可
upload_cos(file)
upload_cos(file_list)
- 源码如下
import os
import sys
import time
import datetime
import logging
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
from qcloud_cos.cos_exception import CosClientError, CosServiceError
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
secret_id = 'SecretId'
secret_key = 'SecretKey'
region = 'ap-guangzhou'
token = None
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token)
client = CosS3Client(config)
def upload_cos(file):
current = os.getcwd()
for i in range(0, 10):
try:
client.upload_file(
Bucket='backup-1145114',
Key=f'gitlab/{
file}',
LocalFilePath=current + '/' + file,
)
break
except CosClientError or CosServiceError as e:
print(e)
def get_files():
os.chdir('/opt/gitlab/backups')
current_dir = os.getcwd()
file_list = os.listdir(current_dir)
if 'upload.py' in file_list:
file_list.remove('upload.py')
current_day = datetime.datetime.now().strftime("%Y_%m_%d")
for file in file_list:
if current_day in file:
print('file exist ===>', file)
print(current_dir + "/" + file)
upload_cos(file)
if __name__ == '__main__':
start_time = int(time.time() * 1000)
get_files()
end_Time = int(time.time() * 1000)
allCostTime = end_Time - start_time
print(f"上传耗时:{
allCostTime}ms")
原文地址:https://blog.csdn.net/qq_39965424/article/details/136071260
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:https://www.suanlizi.com/kf/1755195708107001856.html
如若内容造成侵权/违法违规/事实不符,请联系《酸梨子》网邮箱:1419361763@qq.com进行投诉反馈,一经查实,立即删除!