YAML config based backup utility. Easy to use yet flexible. With a primary focus on dotfile backup & setup, but not limited to dotfiles.
Project description
dotbackup
[!NOTE] This project has been deprecated and replaced by its Rust implementation at dotbackup.rs. Sorry for the inconvenience.
Usually people maintain backup and setup scripts along with their dotfiles. But
these scripts always contain a lot of repeat codes, and writing them is not fun!
dotbackup and dotsetup are here to help.
With these two tools, you only need to write a simple configuration and they will know how to back up and set up your dotfiles. You can read dotbackup(1) and dotsetup(1) for details.
Highlights
- Simple configuration.
- Custom hooks.
- Detailed logs.
Installation
You can install it from one of these package managers:
If you are using a Debian-based system, you can install the pre-built deb package from the latest release.
Installing from a package manager gives you the two commands - dotbackup and
dotsetup, and the manpages. But you can also download this single script:
dotbackup.py. In fact, dotbackup and dotsetup are just
shortcut commands of dotbackup.py, which means that dotbackup is equivalent
to dotbackup.py backup and dotsetup is equivalent to dotbackup.py setup.
Quick Start
Write a simple configuration and place it to ~/.config/dotbackup/dotbackup.yml:
backup_dir: ~/backup
apps:
vim:
files: [~/.vimrc]
nvim:
files:
- ~/.config/nvim/init.lua
- ~/.config/nvim/lua
Do backup:
$ dotbackup
INFO: doing vim backup...
INFO: copying ~/.vimrc to /home/user/backup/.vimrc...
INFO: doing nvim backup...
INFO: copying ~/.config/nvim/init.lua to /home/user/backup/.config/nvim/init.lua...
INFO: copying ~/.config/nvim/lua to /home/user/backup/.config/nvim/lua...
Do setup:
$ dotsetup
INFO: doing vim setup...
INFO: copying /home/user/backup/.vimrc to /home/user/.vimrc...
INFO: doing nvim setup...
INFO: copying /home/user/backup/.config/nvim/init.lua to /home/user/.config/nvim/init.lua...
INFO: copying /home/user/backup/.config/nvim/lua to /home/user/.config/nvim/lua...
Documentation
For more information, please read dotbackup(1) and dotsetup(1).
Show Your Support
If you're using dotbackup, consider adding the badge to your project's README.md:
[](https://github.com/jaxvanyang/dotbackup)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dotbackup-1.2.3.tar.gz.
File metadata
- Download URL: dotbackup-1.2.3.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de5fe878680b6784a73078e9a81c610ea419ab121e17d87707fe27d91d8a7469
|
|
| MD5 |
3075799fb3b1d938c9faa8e93ac1658a
|
|
| BLAKE2b-256 |
5e868db99aa9df15c2a1933060ab188e7b54a1e0a1ad86e5f4cb04ee01616d94
|
Provenance
The following attestation bundles were made for dotbackup-1.2.3.tar.gz:
Publisher:
release.yml on jaxvanyang/dotbackup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dotbackup-1.2.3.tar.gz -
Subject digest:
de5fe878680b6784a73078e9a81c610ea419ab121e17d87707fe27d91d8a7469 - Sigstore transparency entry: 776221979
- Sigstore integration time:
-
Permalink:
jaxvanyang/dotbackup@6087f4b164d06ecab184a66a2e6c113c63b6119e -
Branch / Tag:
refs/tags/v1.2.3 - Owner: https://github.com/jaxvanyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6087f4b164d06ecab184a66a2e6c113c63b6119e -
Trigger Event:
release
-
Statement type:
File details
Details for the file dotbackup-1.2.3-py3-none-any.whl.
File metadata
- Download URL: dotbackup-1.2.3-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f93971c1ebe8b5bcd2be179c25ee12acbf8b96648c5863e15e67ce6a0ffcffc7
|
|
| MD5 |
47966027ddc0c2a01bc81530e94d8aeb
|
|
| BLAKE2b-256 |
c6c557f6ae01cbf00741762015d668b5b20badef2df3c30e3bbe1330a1c69393
|
Provenance
The following attestation bundles were made for dotbackup-1.2.3-py3-none-any.whl:
Publisher:
release.yml on jaxvanyang/dotbackup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dotbackup-1.2.3-py3-none-any.whl -
Subject digest:
f93971c1ebe8b5bcd2be179c25ee12acbf8b96648c5863e15e67ce6a0ffcffc7 - Sigstore transparency entry: 776221983
- Sigstore integration time:
-
Permalink:
jaxvanyang/dotbackup@6087f4b164d06ecab184a66a2e6c113c63b6119e -
Branch / Tag:
refs/tags/v1.2.3 - Owner: https://github.com/jaxvanyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6087f4b164d06ecab184a66a2e6c113c63b6119e -
Trigger Event:
release
-
Statement type: