Operations 6 min read

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.

DevOps Operations Practice
DevOps Operations Practice
DevOps Operations Practice
Achieving Resumable File Transfers with SCP Using Rsync, Split, and Tmux

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.gz

Second, 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 ls

By using rsync, file splitting, or tmux, users can achieve reliable, resumable large‑file transfers in Linux environments.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

rsynctmuxscpsplitresumable transfer
DevOps Operations Practice
Written by

DevOps Operations Practice

We share professional insights on cloud-native, DevOps & operations, Kubernetes, observability & monitoring, and Linux systems.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.