Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I like restic, haven’t seen it mentioned yet.
I like restic too.
I'm using borg with vorta as a front-end, which seems to work quite well, with different possible backup targets
Pika Backup. It's very easy to use, you select the directories you want to backup and the ones you want to exclude, then your job is over. Every time you ask it to backup it will add the new and changed files to the backup without deleting the old ones. This way the backups only grow with what's changed.
You can also ask Pika to schedule automatic backups, or you can ask for one manually if the USB HDD is not plugged in all the time.
If the aim is simply to mirror an existing directory, including mirroring suppression/deletions/new files/edits, and only copying what has changed (which is what I suspect you were trying to emulate with the "created after a certain date" thing), just do:
rsync -avh -P /path/to/source/ /path/to/destination
If the aim is to copy all files created since, say, three days ago, but not to update existing files or to remove files that have been removed from your source (which is what you described):
rsync -avh -P --ignore-existing --files-from=<(find -L /path/to/source -ctime -3 -exec basename {} \;) /path/to/source/ /path/to/destination
Edit: lemmy is html encoding my "lesser than" symbol in the second command above; replace accordingly
I’m pretty sure there are lots of options that work great. I personally just use rsync-but I know the command line is scary for a lot of people making the transition. There are lots of options like timeshift that basically put a gui wrapper around rsync. I’ve seen a lot of love for borg as well - maybe try one of those two.
I feel backups are personal and it’s hard to get a “just do this instruction”. You’ll probably have to pick a product, and then do some homework to see if it can do what you want. This is further complicated by the distro you use - or more specifically if your distro uses btrfs. Some people use a backup as a sort of snapshot, and btrfs is more full featured than ext in that regard.
Good luck!
I use Kopia on both Linux and Windows.
It's really fast and has a lot of great features.
And it's FOSS
Use timeshift, install it, just chose where you want the backups to be installed, preferably a second HD or SD Flash. Chose when like once a day, week at start up for instance and forget it. Then if you screw up your Linux, just start in console mode, timeshift --restore and five mins later your up and running.
If you want just your data to be copied, then Cron
Both are standard Linux programs, often already installed depending on what Linux you have
UPDATE: The specific date thing is because every 6 months i backup my nas to LTO tape so this backup is anything that isn't currently on tape just in case the NAS dies between backups.
Have you looked into using software meant for tape backup for that? It should back up only what's been changed/added since the last tape backup was done.
I think that for your use case (backing up to an external USB drive) great option would be something based on Borg.
Vorta and Pika Backup are great graphical tools for Borg program, with the first being more advanced while the latter being simplier.
I use Syncthing to do a similar thing. I jus have Syncthing pointed to nfs mount to my Nas. Any files synced to the folder via Syncthing just end up on my Nas.
Don't consider this a backup. Yes, it could help you survive some failures, but if you simply delete a file by accident on your computer, it'll get deleted from your NAS as well.
Syncthing has built-in file history function, it's not enabled by default but it's easy to configure.
I use Borg to my nas, then rclone that to rsync.net. With Borg if you need the remote copy, you can interact with it directly.
You can, of course, Borg directly to rsync.net. You can also use rsync instead and let their ZFS snapshots do retention for you.
I use backintime, which is basically a GUI for rsync.
I use a service called iCloud which has both cloud storage and local backup support built into it. Not free or open source but no cloud platform fully is. It's also really cheap for students.