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.
Not gonna lie, I just map a network share and copy and paste through the gui.
Same lol, somebody please enlighten me on a faster way!
Sounds very straight forward. Do you have a samba docker container running on your server or how do you do that?
I just type
sftp://[ip, domain or SSH alias]into my file manager and browse it as a regular folder
Rsync and NFS for me.
What do you mean by specifying IP address?
rsync if it’s a from/to I don’t need very often
More common transfer locations are done via NFS
I’d say use something like zeroconf(?) for local computer names. Or give them names in either your dns forwarder (router), hosts file or ssh config. Along with shell autocompletion, that might do the job. I use scp, rsync and I have a NFS share on the NAS and some bookmarks in Gnome’s file manager, so i just click on that or type in scp or rsync.
scpChecks username… yeah that tracks
scp is deprecated.
SCP, the protocol, is deprecated. scp, the command, just uses the SFTP protocol these days. I find its syntax convenient.
Magic wormhole is pretty dead simple https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation
I use this a lot at work for moving stuff between different test vms, as you don’t need to check IPs/hostnames
People have already covered most of the tools I typically use, but one I haven’t seen listed yet that is sometimes convenient is
python3 -m http.serverwhich runs a small web server that shares whatever is in the directory you launched it from. I’ve used that to download files onto my phone before when I didn’t have the right USB cables/adapters handy as well as for getting data out of VMs when I didn’t want to bother setting up something more complex.rsync -are ssh from to@pc:/diryou 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
rclone. I have a few helper functions;
fn mount { rclone mount http: X: --network-mode } fn kdrama {|x| rclone --multi-thread-streams=8 --checkers=2 --transfers=2 --ignore-existing --progress copy http:$x nas:Media/KDrama/$x --filter-from ~/.config/filter.txt } fn tv {|x| rclone --multi-thread-streams=8 --checkers=2 --transfers=2 --ignore-existing --progress copy http:$x nas:Media/TV/$x --filter-from ~/.config/filter.txt } fn downloads {|x| rclone --multi-thread-streams=8 --checkers=2 --transfers=2 --ignore-existing --progress copy http:$x nas:Media/Downloads/$x --filter-from ~/.config/filter.txt }So I download something to my seedbox, then use
rclone lsd http:to get the exact name of the folder/files, and runtv "filename"and it runs my function. Pulls all the files (based on filter.txt) using multiple threads to the correct folder on my NAS. Works great, and maxes out my connection.Resilion Sync
- sftp for quick shit like config files off a random server because it easy
- rsync for big one-time moves
- smb for client-facing network shares
- NFS for SAN usage (mostly storage for virtual machines)
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
Depends on what I’m transferring and to/from where:
scpis my go-to since I’m a Linux household and have SSH keys setup and LDAP SSO as a fallbacksshfsif I’m too lazy to connect via SMB/NFS (or I don’t feel like installing the tools for them) or I’m traversing a WANrsyncfor bulk transfer and backups- Snapdrop/Pairdrop for one-off file/text shares between devices with GUIs (mostly phone <–> PC)
- SMB if I’m on a client PC and need to work with the files directly from the fileserver
- NFS between servers







