Hi,
I currently use a program called copywhiz on windows that backs up any files or directories created after a certain date to a usb hard drive and runs once a day.
I want to transition fully to Linux. Is there any easy to use software that works on Linux that can do this?
P.S. I have tried creating a bash script to do this but for some reason it has trouble with the date part. So a software solution would be prefered.
I’m using borg with vorta as a front-end, which seems to work quite well, with different possible backup targets
2nd’ing Vorta+Borg. It’s also really easy to find off-site backup options compatible with Borg. I’m using BorgBase, which offers ridiculously cheap storage, the choice of EU and US destination, and supports the development of both Vorta and Borg.
What is the bennefit of vorta? Personally i have always used borg directly.
No benefit other than being a GUI. It has a complex interface that attempts to cover many Borg options but not all.
I usually suggest Pika Backup instead because it has a very simple GUI that makes it easy to perform one-click backups. If you’re gonna use a GUI might as well get something out of it.
I like restic, haven’t seen it mentioned yet.
I like restic too.
I use Linux Mint and love the automatic backup tool that’s built in: timeshift
Timeshift is for a system backup, in case your system broke for whatever reason you could get back quickly to your work without rebuilding and reconfiguring it. It’s not ment for backing up user files.
It’s built on top of rsync, you can easily configure it to make a backup of any arbitrary set of files
You can use it like that, but it’s not a primary focus I think.
That’s true, sure. I still find it a convenient tool, so I thought OP might find it convenient for this use-case even if that’s not the primary purpose
It wasn’t designed for that. Use backintime instead, or any number of other backup tools.
A system backup would include user files though, so that would be fine.
Timeshift explicitly omits /home by default. “System” here means the operating system files not all the files on the machine.
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.
You said you run it daily in the post, but now it’s every 6 months. You really should be more specific. I for one don’t understand why you can’t just do
rsync -au /source /target
i run this backup daily because the from date for it is based on the date of the last 6 monthly backup to tape
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.
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
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 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.
deleted by creator
I use Kopia on both Linux and Windows.
It’s really fast and has a lot of great features.
And it’s FOSS
i use rdiff-backup
I use backintime, which is basically a GUI for rsync.
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.