Skip to content

Conversation

@sohmc
Copy link

@sohmc sohmc commented Dec 23, 2024

Hello fellow Michael! I found your script when I was looking for a wrapper for performing backups. I was in the process of writing my own bash script and realized that your script provided a good majority of my use case.

I have made a PR for the other features I was wanting. Feel free to merge these changes as you see fit.

The major features I implemented:

  • Added feature to set your own date format via -d argument, followed by a valid format
  • Added feature to do incremential backups via the -l argument followed by an integer zero or greater
  • Script will look for a default exclude list, which is provided within this repo that's been shamelessly copied from Timeshift
  • Relatedly, the script will look for an exclude list for your dataset. Exclude files are stored in $HOME/.config/tar/$DATASET_NAME.exclude. Dataset name is derived by replacing slashes in the dataset name with a dash, removing any dots or dashes in the beginning of the dataset name. Best way to use this is to provide the absolute path for the dataset.

I've also cleaned up the code a bit, removing some redundancy. I also refactored the name of your $EXCLUEDS and fixed the skeling. 😅

I've tested the incremental and date format features and they work on my side. I don't know if you have a test plan but feel free to let me know if you need me to make any changes.

@MichaelYochpaz
Copy link
Owner

Hey there, Michael.
That's some impressive work you've done there! :)

To be honest, I wrote this script a long time ago (over 4 years) as a fun project to learn more about Bash scripting and for personal usage back at the time. I haven't used this script for years though and kind of abandoned it.

May I perhaps suggest that you maintain your fork / a new repo with your own changes?
You're more than welcome to have my script with your own changes on your own repo, share it with others, and maintain it however you want.

Hope this doesn't come out as disappointing, since I truly appreciate the work you've done (from a short glance, the code looks great!) and the willingness to share it with others by opening this PR. I just don't currently have the time to maintain this abandoned project (review, handle issues that may arise from the changes, etc.).

@sohmc
Copy link
Author

sohmc commented Dec 28, 2024

Thanks for the reply Michael! Since you have licensed your code via GPL, my fork keeps your license, in compliance with it's terms.

That said, I'm happy keep my changes within my fork. Within the open source spirit, feel free to pull/push as you'd like.

I'm not disappointed at all. If anything, I'm delighted that you even replied. I did notice that the repository hadn't been updated in a few years so I figured the chances of you still monitoring/maintaining the repository was small.

As I said in the OP, your script was perfect for standard full backups. Adding incremental as well as some sane defaults for exclusions helped cover all my use cases.

I'll update the README on my end to point back here as well as keep your name in the Copyright, of course! If I miss something, feel free to raise an issue. 😀

Thanks again for the response and hope you had a wonderful holiday.

@MichaelYochpaz
Copy link
Owner

Happy to hear :)
It's always nice to hear someone else finding your work useful, so I'm more than happy you find it useful.

Nowadays, I use MIT license (which is a lot more permissive) for my open-source projects, so if you'd like to use a different license, please let me know, and I'll just update the license here on this repo to MIT.

If you plan to maintain this script in the long-term, I'd also be happy to update the README here with a note referring to your maintained fork. Just let me know if you'd like that.

And removed leading slash in exclude since tar uses relative paths
@sohmc
Copy link
Author

sohmc commented Dec 28, 2024

It's nice to know something you've written is helpful. I try to provide that feedback when I feel it's appropriate.

In terms of licenses, I prefer GPL/AGPL for my personal projects so GPL is fine for me. I prefer GPL as a license as it allows for the continuation of open-source. I've heard too many horror stories of developers finding out some big corporation took their permissive code and used it in their own product.

A link to my fork in your README would be welcome and appreciated, but not required. If you do chose to do so, maybe after I merge the commits to my main branch (Monday or Tuesday?). I can let you know in this issue.

@sohmc
Copy link
Author

sohmc commented Jan 4, 2025

Michael, v1.3.0 was released today

My apologies for the delay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants