I need to transfer files from one CentOS server to another. Will transfer 5MB files about every 10 minutes. Do not need encryption.
What is an easy was for fast transfer of files?
Is there something simpler than ftp?
Thanks!
I need to transfer files from one CentOS server to another. Will transfer 5MB files about every 10 minutes. Do not need encryption.
What is an easy was for fast transfer of files?
Is there something simpler than ftp?
Thanks!
rsync
I'd use rsync before I used ftp or tftp.
More options and (in my experience) more reliable transfer.
tar over ssh is okay, but tar over TCP via netcat is about as low-overhead as you can get! If this is a one-time thing, give this a shot:
On the receiver:
On the sender:
If this is something you're going to do regularly, I'd probably use rsync.
Two people have mentioned tar over ssh, but didn't say how to do it. For the record, the basic procedure is to run:
Or, if you want to start transfers from the receiving end:
The advantage of doing it this way over Evan's netcat solution is that the whole thing can be started from one computer; you don't have to coordinate two netcat invocations. If you need this to run automatically, you can set up an ssh key that lets you make connections without a passphrase, and use that key for these connections.
ssh has a -C option to compress its data stream, or you can use GNU tar's builtin compressing ability:
Rsync is another option, but its strong suit is in updating files that already exist on the receiving end. I've found it to be slower than scp or tar/ssh when using it to transfer files that don't already exist on the other end.
I'd use
scp
ortar
overssh
, honestly. The encryption does slow things down, but the ease of setup and use, reliability, and (subjectively, of course) familiarity make me willing to take the hit, unless I really need that speed.You can speed up the ssh transfer by telling it to use a faster cipher than the default, also. The default is usually
3des
and you can usually do-c des
, so that will obviously be faster, and-c blowfish
is represented as fast as well, though I haven't tested it exactingly.(Back in the days of SSHv1, you could often do
-c none
, but I guess somebody decided that was bad juju.)If you have to go through scp/ssh, my experiments show that the fastest cipher enabled by default these days is RC4. You specify the cipher via '-c arcfour' in your ssh/scp command:
for initial copy:
scp -c arcfour -r foo/ desthost:/destdir
for updates:
rsync -e 'ssh -c arcfour' -r foo/ desthost:/destdir
Rsync is a good way to go because if you find yourself transferring the same files more than once it will speed up the copy, as shown with this quote from the man page.
FTP is pretty simple, but an even simpler way may be to create an NFS share on one machine and mount it on the other. Then copying the files will consist of doing a cp from one directory to another.
If you want speed you could use netcat and tar. It will be faster than ssh, rsync, or scp on a local network where encryption is not a concern. Google "netcat tar".
DestinationServer
SourceServer
This obviously requires that netcat is actually installed. Google "netcat tar" for more info.
I believe that you already solved your problem but in case your ssh works on another port (not on standard port 22) you can use this
Note: - replace XXXXX with your port number - replace 192.16.1.2 with correct remote server IP
https://www.npmjs.org/package/gist-cli
https://github.com/settings/applications#personal-access-tokens
or this one:
https://github.com/defunkt/gist
Use gist command to upload and download