Hello selfhosted! Sometimes I have to transfer big files or a large amounts of small files in my homelab. I used rsync but specifying the IP address and the folders and everything is bit fiddly. I thought about writing a bash script but before I do that I wanted to ask you about your favourite way to achieve this. Maybe I am missing out on an awesome tool I wasn’t even thinking about.
Edit: I settled for SFTP in my GUI filemanager for now. When I have some spare time I will try to look into the other options too. Thank you for the helpful information.
sftp
All my machines have my keys, nothing to set up, nothing to tear down.
What’s wrong with rsync? If you don’t like IP addresses, use a domain name. If you use certificate authentication, you can tab complete the folders. It’s a really nice UX IMO.
If you’ll do this a lot, just mount the target directory with sshfs or NFS. Then use rsync or a GUI file manager.
Just don’t run rsync as a daemon as that’s a security nightmare
Why would you do that? That sounds awful…
The daemon tracks file state, so the transfers start quicker because rsync doesn’t have to scan the filesystem.
Right, but if you’re transferring things that frequently, there are better solutions.
Not necessarily. Rsync deltas are very efficient, and not everything supports deltas.
It may very well be the correct tool for the job.
Anyway, problem fit wasn’t part of the question.
Yeah, there are probably a few perfect fits for it. I don’t rsync between machines very often, so the only use case I might have is backups, which is already well covered with a number of tools. Otherwise I just want to sync a few directories.
It is, rsync sends data in plain text. There is a optional password that is also sent in plain text.
I never even set up DNS for things that aren’t public facing. I just keep /etc/hosts updated everywhere and ssh/scp/rsync things around using their non-fqdn hostnames.
You could also use mDNS to the same effect.
What do you mean by specifying IP address?
Snapdrop if they both have a gui/webbrowser. https://github.com/SnapDrop/snapdrop
Scp otherwise
Or https://github.com/schlagmichdoch/PairDrop if you don’t want to support a project bought out by LimeWire
rsync over an SMB share was pretty seamless.
you can use a regular ftp server with administrator and user rights, distribute rights to those who replenish, and those who just take - guests at home I transfer in this way from computer to computer without connecting them to a common network, what could be simpler? why invent some ways with keys or bash if there is a 40-year-old technology that just works great, and to open ftp it is enough to enter the IP address in the explorer
Ähm. So your not gonna like this but I just connect with vscode remote-ssh and drag’n drop em from the os file explorer into the vscode one.
So long story short scp I guess.
smb share if its desktop to desktop. If its from phone to PC, I throw it on nextcloud on the phone, then grab it from the web ui on pc.
Smb is the way to go if you have identity set up, since your PC auth will carry over for the connection to the smb share. Nextcloud will be less typing if not since you can just have persistent auth on the app / web.
Solid explorer on android is pretty useful too, it can access the SMB share. I use nextcloud for photo backup, but usually solid explorer for one off file transfers.
rsync -are ssh from to@pc:/dir
Just regular old WinSCP, or XPipe for smaller stuff and editing config files.
I need a GUI, I’ll use rsync to migrate a lot of data to a new server or something occasionally, but it’s just a pain compared to a nice graphical file browser.
I like unison personally. It is a bit more of a hassle but it works pretty well.
WinSCP for editing server config
Rsync for manual transfers over slow connections
ZFS send/receive for what it was meant for
Samba for everything else that involves mounting on clients or other servers.
Ye old samba share.
But I do like using Nextcloud. I use it for syncing my video projects so I can pick up where I left off on another computer.
Samba Bamba!!
Syncthing and/or ftp.
rsync over ssh or scp.