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.

  • @[email protected]
    link
    fedilink
    English
    113 months ago

    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.server which 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.

    • @[email protected]OP
      link
      fedilink
      English
      33 months ago

      Sounds very straight forward. Do you have a samba docker container running on your server or how do you do that?

      • drkt
        link
        fedilink
        English
        11
        edit-2
        3 months ago

        I just type sftp://[ip, domain or SSH alias] into my file manager and browse it as a regular folder

      • Lv_InSaNe_vL
        link
        fedilink
        English
        13 months ago

        I dont have a docker container, I just have Samba running on the server itself.

        I do have an owncloud container running, which is mapped to a directory. And I have that shared out through samba so I can access it through my file manager. But that’s unnecessary because owncloud is kind of trash.

      • @[email protected]
        link
        fedilink
        English
        43 months ago

        I have two servers, one Mac and one Windows. For the Mac I just map directly to the smb share, for the Windows it’s a standard network share. My desktop runs Linux and connects to both with ease.

      • @[email protected]
        link
        fedilink
        English
        13 months ago

        Set up smb on my file share VM.
        My dedicated docker host accesses it through an NFS mount.

  • @[email protected]
    link
    fedilink
    English
    13 months ago

    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

  • hendrik
    link
    fedilink
    English
    2
    edit-2
    3 months ago

    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 with the target computer’s name.

  • @[email protected]
    link
    fedilink
    English
    33 months ago

    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.

  • @[email protected]
    link
    fedilink
    English
    4
    edit-2
    3 months ago

    rsync is indeed fiddly. Consider SFTP in your GUI of choice. I mount the folder I need in my file browser and grab the files I need. No terminal needed and I can put the folders as favorites in the side bar.

    • Lv_InSaNe_vL
      link
      fedilink
      English
      23 months ago

      If you want to use the terminal though, there is scp which is supported on both windows and Linux.

      Its just scp [file to copy] [username]@[server IP]:[remote location]

  • Admiral Patrick
    link
    fedilink
    English
    2
    edit-2
    3 months ago

    Depends on what I’m transferring and to/from where:

    • scp is my go-to since I’m a Linux household and have SSH keys setup and LDAP SSO as a fallback
    • sshfs if 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 WAN
    • rsync for 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
    • To get bulk data to my phone (e.g. updating my music library), I connect via USB in MTP mode and copy from the server via SMB or sshfs.
  • melroy
    link
    fedilink
    13 months ago

    yeah I also use SFTP using FileZilla. Or like everybody mentioned including yourself, rsync to sync files across computers. Or even scp.

  • @[email protected]
    link
    fedilink
    English
    23 months ago

    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.