Copy files over SSH: Difference between revisions

From Jwiki
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
= Efficient File Transfer with Tar and SSH =
= Efficient File Transfer with Tar and SSH =


Efficiently transfer files using tar over SSH for migrations.
Quickly transfer directories over SSH using tar. Great for migrations or backups.


== Optimized Command ==
== Commands ==


<pre><code class="bash">
'''Local to remote:'''
tar cjf - /path/to/local/dir | ssh user@remote-host 'tar xjf - -C /path/to/remote/destination'
<syntaxhighlight lang="bash">
</code></pre>
tar cjf - -C /path/to/local/ <source-dir> | ssh user@remote-host 'tar xjf - -C /path/to/remote/ <target-dir>'
</syntaxhighlight>


== Tips ==
'''Remote to local:'''
- Use --exclude to skip files.
<syntaxhighlight lang="bash">
- Swap j for z (gzip) for faster compression.
ssh user@remote-host 'tar cjf - -C /path/to/remote/ <source-dir>' | tar xjf - -C /path/to/local/ <target-dir>
</syntaxhighlight>
 
== Notes ==
* Add <code>--exclude='pattern'</code> to skip files or directories.
* Replace <code>j</code> with <code>z</code> (i.e., <code>czf</code>, <code>xzf</code>) to use gzip for faster, but less compressed, transfers.

Latest revision as of 19:48, 1 August 2025


Efficient File Transfer with Tar and SSH

Quickly transfer directories over SSH using tar. Great for migrations or backups.

Commands

Local to remote:

tar cjf - -C /path/to/local/ <source-dir> | ssh user@remote-host 'tar xjf - -C /path/to/remote/ <target-dir>'

Remote to local:

ssh user@remote-host 'tar cjf - -C /path/to/remote/ <source-dir>' | tar xjf - -C /path/to/local/ <target-dir>

Notes

  • Add --exclude='pattern' to skip files or directories.
  • Replace j with z (i.e., czf, xzf) to use gzip for faster, but less compressed, transfers.