#!/usr/local/bin/python import json import pathlib import minio def main(): # Load the user configuration. with open("/data/options.json", "r") as f: config = json.load(f) client = minio.Minio( config["minio_url"], access_key=config["minio_access_key"], secret_key=config["minio_secret_key"], ) found = client.bucket_exists(config["minio_bucket"]) if not found: client.make_bucket(config["minio_bucket"]) else: print(f"Bucket {config['minio_bucket']} already exists") backup_folder = pathlib.Path("/backup") objects = [x.object_name for x in client.list_objects(config["minio_bucket"])] to_upload = [x for x in backup_folder.iterdir() if x.name not in objects] for file in to_upload: client.fput_object( config["minio_bucket"], file.name, str(file.resolve()), ) print(f"Uploaded {file.name}") if __name__ == "__main__": main()