While on Linux I usually do on receiving side:
nc -l 43210 | tar xf -
And on sending side:
tar cf - . | dd bs=1M | nc receiving_hostname 43210
And then I run in another terminal on sending side to get real time transfer statistics on sending console:
while sleep 10; do killall -USR1 dd; done
This just uses simple raw TCP transfer — no need to configure FTP/NFS/CIFS server. This would transfer about 10TB in 24 hours over 1Gbps network if disks on both sides would be fast enough.
You may need to allow connections to used port (43210 in my example) in firewall on receiving side. It should also work on other unices like OSX or FreeBSD. On Windows you can use my "dot_nc" and "dot_nc_l", which are simplistic equivalents of
nc -l implemented in C# on Windows, which I used to benchmark raw TCP transfers on Windows.