Make backup include preview images

This commit is contained in:
Sascha Ißbrücker 2024-06-16 10:37:02 +02:00
parent 44b49a4cfe
commit fe40139838
2 changed files with 16 additions and 2 deletions

View file

@ -48,6 +48,19 @@ class Command(BaseCommand):
file_path = os.path.join(root, file) file_path = os.path.join(root, file)
zip_file.write(file_path, os.path.join("favicons", file)) zip_file.write(file_path, os.path.join("favicons", file))
# Backup the previews folder
if not os.path.exists(os.path.join("data", "previews")):
self.stdout.write(
self.style.WARNING("No previews folder found. Skipping...")
)
else:
self.stdout.write("Backup bookmark previews...")
previews_folder = os.path.join("data", "previews")
for root, _, files in os.walk(previews_folder):
for file in files:
file_path = os.path.join(root, file)
zip_file.write(file_path, os.path.join("previews", file))
self.stdout.write(self.style.SUCCESS(f"Backup created at {backup_file}")) self.stdout.write(self.style.SUCCESS(f"Backup created at {backup_file}"))
def backup_database(self, backup_db_file): def backup_database(self, backup_db_file):

View file

@ -8,12 +8,13 @@ The data folder contains the following contents that are relevant for backups:
- `db.sqlite3` - the SQLite database - `db.sqlite3` - the SQLite database
- `assets` - folder that contains HTML snapshots of bookmarks - `assets` - folder that contains HTML snapshots of bookmarks
- `favicons` - folder that contains downloaded favicons - `favicons` - folder that contains downloaded favicons
- `previews` - folder that contains downloaded preview images
The following sections explain how to back up the individual contents. The following sections explain how to back up the individual contents.
## Full backup ## Full backup
linkding provides a CLI command to create a full backup of the data folder. This creates a zip file that contains backups of the database, assets, and favicons. linkding provides a CLI command to create a full backup of the data folder. This creates a zip file that contains backups of the database, assets, favicons, and preview images.
> [!NOTE] > [!NOTE]
> This method assumes that you are using the default SQLite database. > This method assumes that you are using the default SQLite database.
@ -90,7 +91,7 @@ This is the least technical option to back up bookmarks, but has several limitat
- It only exports your own bookmarks, not those of other users. - It only exports your own bookmarks, not those of other users.
- It does not export URLs of snapshots on the Internet Archive Wayback machine. - It does not export URLs of snapshots on the Internet Archive Wayback machine.
- It does not export HTML snapshots of bookmarks. Even if you backup and restore the assets folder, the bookmarks will not be linked to the snapshots anymore. - It does not export HTML snapshots of bookmarks. Even if you backup and restore the assets folder, the bookmarks will not be linked to the snapshots anymore.
- It does not export favicons. - It does not export favicons or preview images.
Only use this method if you are fine with the above limitations. Only use this method if you are fine with the above limitations.