This is a vault backup plugin for Obsidian.
We can store all the files which have been modified, into a ZIP file.
- Install this plug-in from Beta Reviewers Auto-update Tester.
- Perform
Create Differential Backupfrom the command palette. - We will get
backupinfo.mdand a zip fileYYYY-MM-DD-SECONDS.zipin thebackupfolderbackupfolder can be configured in the settings dialogue.
- Perform
Restore from backupsfrom the command palette. - Select the file you want to restore.
- Select the backup you want to restore.
- Select the place to save the restored file.
- We got an old file.
| Key | Description |
|---|---|
| Start backup at launch | When the plug-in has been loaded, Differential backup will be created automatically. |
| Auto backup style | Check differences to... Full to all files, Only new to the files which were newer than the backup, Non-destructive as same as Only new but not includes the deletion. |
| Include hidden folder | Backup also the configurations, plugins, themes, and, snippets. |
| Backup Destination | Where to save the backup Inside the vault, Anywhere (Desktop only), and S3 bucket are available. Anywhere is on the bleeding edge. Not safe. Only available on desktop devices. |
| Restore folder | The folder which restored files will be stored. |
| Max files in a single zip | How many files are stored in a single ZIP file. |
| Perform all files over the max files | Automatically process the remaining files, even if the number of files to be processed exceeds Max files. |
| ZIP splitting size | An large file are not good for handling, so this plug-in splits the backup ZIP into this size. This splitted ZIP files can be handled by 7Z or something archiver. |
| Key | Description |
|---|---|
| Backup folder | The folder which backups are stored. We can choose only the folder inside the vault. |
| Key | Description |
|---|---|
| Backup folder (desktop) | The folder which backups are stored (if enabling Use Desktop Mode). We can choose any folder (Absolute path recommended). |
| Key | Description |
|---|---|
| Endpoint | The endpoint of the S3 bucket. |
| AccessKey | The access key ID of the S3 bucket. |
| SecretKey | The secret access key of the S3 bucket. |
| Region | The region of the S3 bucket. |
| Bucket | The name of the S3 bucket. |
| Use Custom HTTP Handler | Use a custom HTTP handler for S3. This is useful for mobile devices services. |
| Backup folder | The folder which backups are stored. We can choose only the folder inside the bucket. |
Test: Test the connection to the S3 bucket.Create Bucket: Create a bucket in the S3 bucket.
Here are some tools to manage settings among your devices.
| Key | Description |
|---|---|
| Passphrase | Passphrase for encrypting/decrypting the configuration. Please write this down as it will not be saved. |
| Copy setting to another device via URI | When the button is clicked, the URI will be copied to the clipboard. Paste it to another device to copy the settings. |
| Paste setting from another device | Paste the URI from another device to copy the settings, and click Apply button. |
If you want to make a full backup, you can reset the backup information. This will make all files to be backed up.
If you configure the passphrase, the ZIP file will be encrypted by AES-256-CBC with the passphrase.
Important
Not compatible with the encrypted zip file. We have to decrypt the file by OpenSSL, without this plug-in.
Decryption command is openssl enc -d -aes-256-cbc -in <encrypted file> -out <decrypted file> -k <passphrase> -pbkdf2 -md sha256.
This markdown file contains a list of file information. The list is stored as YAML. backupinfo.md is also stored in each Zip file.
For the sake of simplicity, suppose we have three files, make a backup, change one of the files and make another backup.
Then we get the following.
Untitled.md:
digest: 452438bd53ea864cdf60269823ea8222366646c14f0f1cd450b5df4a74a7b19b
filename: Untitled.md
mtime: 1703656274225
history:
- zipName: 2023-12-28-41265.zip
modified: 2023-12-27T05:51:14.225Z
storedIn:
Untitled 2.md:
digest: 7241f90bf62d00fde6e0cf2ada1beb18776553ded5233f97f0be3f7066c83530
filename: Untitled 2.md
mtime: 1703656274225
history:
- zipName: 2023-12-28-41265.zip
modified: 2023-12-27T05:51:14.225Z
Untitled 1.md:
digest: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
filename: Untitled 1.md
mtime: 1708498190402
history:
- zipName: 2023-12-28-41265.zip
modified: 2023-12-27T05:51:14.225Z
- zipName: 2024-2-21-56995.zip
modified: 2024-02-21T06:49:50.402ZThe following entries are important.
| key | value |
|---|---|
| digest | SHA-1 of the file. DZB detects all changes by this hash. |
| history | Archived ZIP file name and Timestamp at the time. |
Note: Modified time has been stored due to the lack of resolution of the ZIP file, but this is information for us.
We will get the following zip files.
| 2023-12-28-41265.zip | 2024-2-21-56995.zip |
|---|---|
| Untitled.md | |
| Untitled 1.md | |
| Untitled 2.md | Untitled 1.md |
| backupinfo.md | backupinfo.md |
As the astute will have noticed, we can pick the ZIP that contains the file we want from only the latest one without any special tool!
License: MIT
