I have got two webhosting packages: One package (A) from hoster A and one package (B) from another hoster B (different networks). I can transfer files from my local computer via FTP to webhosting package A and / or webhosting package B.

Now I want to transfer folders and files from hoster A to hoster B directly. I tried FXP, but hoster A und hoster B didn't allow it (500 Illegal PORT Command). I can't change settings to allow FXP (it is a normal webhosting package, so I don't have SSH / root access or something like that).

I know that I could use a FTP client on my local machine (private computer) to download the content from hoster A and reupload it to hoster B manually, but this will took a long time (big data - many files).

I don't think that there will be a way to transfer the files directly from A to B without any "help", but I have also got a linux root server C (from hoster C). Is there a way to transfer the files with my server C (a script, program, workflow, ...)? Like downloading file1.txt from package A via FTP to server C, upload it from server C to package B, delete it on server C, downloading the next file file2.txt and so on?

2 Answers 2


Use curlftpfs on your Linux server C.

The program curlftpfs is a tool to mount remote ftp hosts as local directories.

This is a FUSE-based solution, get familiar with security concerns. You can (and should) do the mounting as a normal user. Example:

curlftpfs -r ftp.dd-wrt.com ~/mnt/foo/

Mount A and B to different mountpoints. Then use any tool to copy/move files, like you would do with local files: cp -r, mc, whatever. Unmount eventually. An example command to unmount:

fusermount -u ~/mnt/foo/
  • Besides the security concerns it looks like a great solution, thanks!
    – mhellmeier
    Aug 5, 2020 at 15:14

After a lot of research and trial & error I decided to write my own script to transfer files between two FTP servers A and B over a root server C.

Its published on GitHub as FTP-Move-Server-Files. It's currently in an early development stage but it helps getting rid of the normal described workflow over a private machine.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .