Many years ago when I was playing around I discovered that the FTP specs actually allows for something called, not sure now, third-party control or something like that. It takes advantage of the fact that FTP has a separate control connection from the data connection. So a third machine could command two machines to coordinate a transfer without any data being transferred to the third machine. There was a command line program on Unix called bftp (background FTP) that could do this. You could do a search of the current FTP client programs, both GUI and CLI to see if this is still supported. But I suspect third-party control is no longer allowed by servers as the protocol may be open to abuse.
If you do not have login access to at least one of the FTP servers involved, a ftp client program on that server, and the firewall rules allow the transfer, then I don’t see how you can avoid a transfer to/from your machine as a step.
If you have login access to both servers, you could consider other protocols, even a simple netcat could create a pipe between the two machines you can pump a tar file through.
Sorry, my original post should have said, I can’t seem to find a way to open 2 remote servers.
I must have used a windows program called SmartFTP, it’s not a simple thing to do?
I do have ftp logins to both servers, I just want to move the files from one to the other and end service on the first one. The netcat and other methods you mention are probably beyond my current understanding.
No, it’s not good enough to have a ftp login on the servers. If you want to avoid transfers to your machine, you need to be able to run a ftp client on one of the servers. Which means a shell login.
As I have already explained, server to server transfers mediated by a third machine don’t appear to be supported these days so it’s useless to try to open a connection to two servers from your machine, even if you do it by running two different programs. That’s why these programs make the assumption that you only have one server connected at any given time.