I’m guessing it’s not possible but thought I’d ask anyway. Is there a way I can use a device to help sync 2 devices when 1 is offline, without having the folder completely synced to that helper device?
To explain what I mean: I have 2 devices, a PC and a laptop. I want to sync between these 2 devices, but they are almost never turned on at the same time. I thought about adding my phone, which is always turned on, as a 3rd device so my laptop and PC can sync using that. But I have a lot of large files I want to sync, and I don’t want them to permanently take up space on my phone. Is there a way I could set things up so that only changed files get synced to my phone, and they get deleted when all devices are synced up? Or something that works similarly to this?
I looked at it a little bit more. The main use case, as far as I understand, is this: You have two devices which have connectivity between them, but the connection is slow and/or expensive. You run rsync with that flag which connects to the other device and then it writes changes to for example a USB stick or a portable hard drive. So the amount of data “on the wire” is mainly just metadata. Then you take the USB stick or the portable drive to the other device and run rsync there with read-batch to apply the changes. Repeat until they are fully in sync.
If it’s a bidirectional sync – i.e. both the desktop and laptop might independently commit changes – then no, at least not in any practical way because resolving conflicting changes will be complicated and messy.
Somehow the “helper” device (your phone) needs to know what changed on both the desktop and laptop in order to know what differences need to be synced.
@martinleben’s suggestion to use rsync is a good one. Instead of your phone, if you combine rsync with a portable USB drive (solid-state if at all possible) large enough to hold all of the files to be synced, it’d be a much simpler setup plus you’ll have an offline backup in case of disaster.
Plug in the USB drive when using the desktop/laptop, sync to the USB drive before powering down, then the reverse when you’re ready to use the other computer.
You didn’t mention the OS running on your desktop and laptop, but in addition to rsync, other good options include:
Apparently Oracle has a “free tier” for cloud services. I haven’t used it, but you could set up Syncthing on a free (or paid-for) cloud virtual machine and use it for Syncthing. It wouldn’t work the way you were asking about, but it might be a reasonable solution for your use case. You could have the cloud Syncthing node untrusted/encrypted if that made sense for you.
I was just looking at that earlier today. It looked like a micro-VPS with an Arm-based CPU plus up to 20GB of storage falls within the free tier, otherwise most of the services are free 30-day trials.
In my specific use case, only one device will have new changes at any given time. If I make changes on the laptop, there won’t be any changes on the PC until the PC is synced, and vice-versa. Don’t know if that makes this any easier.
I guess this works, but at that point it’s not really adding much benefit over just transferring files manually.
Windows for both.
I thought about using the cloud before, but I thought I’d look at free & local alternatives first. Good to know there’s a free tier though.
Ah, yes, that definitely makes things easier and expands the pool of possible solutions.
There’s the huge benefit in not having to remember what’s changed and where plus the assurance that all of the files were transferred successfully (won’t get that with manual transfers), so potentially a lot of time savings compared to manually dragging and dropping files.
For sure, the always on plus automated syncing provided by Syncthing, Dropbox, Box, OneDrive, Google Drive and many others is really handy, but also means some device has to be always on – or at least both your PCs must be on at the same time long enough for them to sync up.
Using your phone as the “helper” device requires that the phone have knowledge of the differences between the files on both PCs. I can think of a few ways of scripting it, but an easy to use app that can be installed on all three devices and works out of the box for your use case might not exist.
A lot ultimately depends on the workflow and priorities. If keeping the two PCs always in sync is the most important requirement, FreeFileSync / rsync / rclone will do just fine. But if convenience (i.e. minimizing manual steps) tops the list, then leaving both PCs on, adding a NAS, a cloud server, or some other combo is likely the only viable solution.