29 lines
No EOL
1.3 KiB
Python
29 lines
No EOL
1.3 KiB
Python
from conf import get_config
|
|
import pterodactylReader, fileDownloader, datetime, discordPoster, time, oldRemover
|
|
|
|
def run(run_number: int):
|
|
try:
|
|
conf = get_config()
|
|
api_client = pterodactylReader.init_client(config=conf)
|
|
today_date = datetime.datetime.now()
|
|
|
|
backups_dict = pterodactylReader.get_backups_list(api_client=api_client, server_id=conf.server_id)
|
|
backup_uuid = pterodactylReader.get_last_backup_id(backups_dict)
|
|
backup_url = pterodactylReader.get_backup_url(api_client=api_client, server_id=conf.server_id, backup_id=backup_uuid)
|
|
time.sleep(20)
|
|
backup_local_path = fileDownloader.create_dirs_and_download(backup_url=backup_url, date=today_date, base_path=conf.save_dir)
|
|
|
|
if conf.discord_enabled == 1:
|
|
discordPoster.send_url_to_discord(webhook_url=conf.discord_webhook, backup_url=f"{conf.main_domain}{backup_local_path}", datetim=today_date, backup_name=conf.discord_backupname)
|
|
|
|
if conf.backups_keep_days != 0:
|
|
oldRemover.remove_old_files(today_date=today_date, keep_days=conf.backups_keep_days, root_path=conf.save_dir)
|
|
|
|
except Exception as e:
|
|
print(f"Error on try #{run_number}: {e}")
|
|
|
|
if run_number < 5:
|
|
run(run_number=(run_number + 1))
|
|
|
|
|
|
run(0) |