From 6cbbce030cce86dbdd4231bd4799e6c7bd2c5e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Hells=C3=A9n?= Date: Mon, 13 Dec 2021 22:38:40 +0100 Subject: [PATCH] Add backup command --- discord_rss_bot/main.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/discord_rss_bot/main.py b/discord_rss_bot/main.py index 74537e9..9fdee2f 100644 --- a/discord_rss_bot/main.py +++ b/discord_rss_bot/main.py @@ -1,4 +1,7 @@ +import os +import time from contextlib import closing +from shutil import copyfile import typer from dhooks import Webhook @@ -89,5 +92,22 @@ def check() -> None: hook.send(f":robot: :mega: {entry.title}") +@app.command() +def backup() -> None: + """Backup the database""" + backup_dir = os.path.join(Settings.data_dir, "backup") + os.makedirs(backup_dir, exist_ok=True) + + # Get the current time + current_time = time.strftime("%Y-%m-%d_%H-%M-%S") + + backup_file_location = os.path.join( + Settings.data_dir, "backup", f"db_{current_time}.sqlite" + ) + copyfile(Settings.db_file, backup_file_location) + + typer.echo(f"{Settings.db_file} backed up to {backup_dir}") + + if __name__ == "__main__": app()