3

I want to transfer an arbitrarily large file (say >20GB) between 2 servers. I have several considerations:

  • Must use port 22 (ssh) because of firewall restrictions

  • Cannot tax the CPU (production server)

  • Memory efficiency

  • Would prefer a checksum check but that could be done manually

  • Time is not of the essence

I would appreciate an answer for several scenarios:

  1. Server A and Server B are on the same private network (sharing a switch) and data security is not a concern

  2. Server A and Server B are not on the same network and transfer will be via the public internet so data security is a concern

My first thought was using nice on an scp command with a non-CPU-intensive cypher (blowfish?). But I thought I'll refer to the SU community for recommendations.

2
  • Are you absolutely sure you can't use FTP, Samba (if their windows), or other faster file transfer methods?
    – TheLQ
    Oct 5, 2010 at 1:26
  • In this scenario, we only have the SSH service available. Oct 5, 2010 at 1:50

1 Answer 1

2

scp should work fine. In an internet environment the overall speed will usually be determined more by the network than the encryption done by the scp program. On the private network your plan to use blowfish to ease the CPU load a bit is good. Personally I would not use the nice command unless your production CPU load is already high. Most servers are IO limited, not CPU limited - but you know your system better than I do. And definitely do an md5 or sha256 checksum on the result.

1
  • Thanks. Was thinking there might be a better solution but this sounds good to me. Oct 6, 2010 at 0:50

You must log in to answer this question.

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