π Make incremental snapshots to backup any folder to any location/server.
π Written in python.
git clone https://github.com/CupCakeArmy/ixesha
python3 ixesha/ixesha --install
rm -rf ixesha
ixesha --backup ~/ --output /mnt/backup/home
Whenever you want to do an incremental backup simply rerun the same command:
ixesha --backup ~/ --output /mnt/backup/home
All the snapshots are timestamped and you can delete all the old ones if you like (yes, really πͺ), keeping only the last one. The backups are incremental, so they only save the changes you made and are therefore very space efficient. The latest backup is always the ./current
link to the last backup inside of the backup directory.
Python3
rsync
(min. v3.1.1)
- Install Brew if not already
- Run:
brew install python3 rsync
Run: apt install -y python3 rsync
Well... I don't know...
Optionally you can install/uninstall the script globally. Usefull but not required.
It will be saved to: /usr/local/bin/
python3 ixesha --install
python3 ixesha --uninstall
Run with: python3 ixesha
or ./ixesha
If installed simply: ixesha
ixesha --backup <my-folder> --output <where-to-save-it>
Backup my home folder for example to some mounted drive
ixesha --backup ~/ --output /mnt/backupdrive/home
-h
--help
Show help dialog-b
--from
--backup
The folder to be backed up-o
--to
--output
Location where the snapshots will be saved-i
--install
Install the script globally-u
--uninstall
Uninstall the script globally
If you want to run it every x... you can create a cronjob
Run the script every 5 Min (More details on cronjobs)
- Edit your cron file with:
crontab -e
- Add:
*/5 * * * * ixesha -b /some/folder -o /some/backup/location