Achieving Resumable File Transfers with SCP Using Rsync, Split, and Tmux
This article explains why SCP cannot resume interrupted transfers and provides practical alternatives—including rsync with the --partial option, splitting files with the split command, and keeping sessions alive with tmux—to achieve reliable, resumable file transfers on Linux systems.
SCP (Secure Copy Protocol) is a SSH‑based tool for transferring files between local and remote Linux systems, but it lacks built‑in resumable transfer support.
The article first reviews basic SCP usage with example commands:
scp [options] source_file destination_path scp file.txt user@remote_ip:/home/user/ scp user@remote_ip:/home/user/file.txt /local/path/To overcome this limitation, rsync is introduced as an alternative that supports resumable transfers. Its basic syntax and common options are shown:
rsync [options] source_file destination_path rsync -avz --partial file.txt user@remote_ip:/home/user/Key options include -a (archive mode), -v (verbose), -z (compression), and --partial (keep partially transferred files). The article explains how --partial allows rsync to continue from the interruption point.
Additional rsync options such as --progress (show transfer progress), --bwlimit (limit bandwidth), and -e ssh (explicitly use SSH) are demonstrated:
rsync -avz --partial --progress --bwlimit=1000 file.txt user@remote_ip:/home/user/The guide also offers two supplementary methods for achieving resumable SCP transfers. First, the split command can divide a large file into smaller chunks, which are then transferred individually with SCP and reassembled on the remote host using cat :
split -b 100M largefile.tar.gz part_ scp part_* user@remote_ip:/home/user/ cat part_* > largefile.tar.gzSecond, the tmux terminal multiplexer can keep the session alive, preventing SCP from being terminated when the client disconnects. Commands to start, attach, and list tmux sessions are provided:
tmux new -s file_transfer scp largefile.tar.gz user@remote:/home/user/ tmux attach -t file_transfer tmux lsBy using rsync, file splitting, or tmux, users can achieve reliable, resumable large‑file transfers in Linux environments.
DevOps Operations Practice
We share professional insights on cloud-native, DevOps & operations, Kubernetes, observability & monitoring, and Linux systems.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.