I need to transfer multiple files to a HPC cluster. Currently, I've been using the scp command but it takes about 10 minutes or more to transfer one file (about 1.4GB each). I've seen that using tar would speed up the transfer, however I noticed that compressing the files takes much longer than just transferring the files using scp. The tar command I use is:
tar -cvfz files.tar.gz files
I've also tried using rsync, however I keep getting an error saying rsync is not recognized by bash despite it being installed on the remote server. I'm not too knowledgeable about this stuff so any help or advice would be greatly appreciated!
rsync
on the local system. Following that, add the-z
flag to your transfer command to enable compression on the fly. Note also that if you're transferring video files or some other specific file types, they may already be compressed. Askingrsync
to compress them will just incur overhead without increasing performance.tar
on? Are you both reading and writing to the same disk? What's the network link to the HPC cluster like, what is the line speed? One option w/tar
would be not to create a file locally, but pipe the compressed data over the network and decompress on the far end (whether or not that makes sense depends on the CPU on both sides).-C
to your scp command to enable ssh's compression.