Copy files over SSH: Difference between revisions
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 = | ||
Quickly transfer directories over SSH using tar. Great for migrations or backups. | |||
== | == Commands == | ||
< | '''Local to remote:''' | ||
tar cjf - /path/to/local/dir | ssh user@remote-host 'tar xjf - -C /path/to/remote/ | <syntaxhighlight lang="bash"> | ||
</ | tar cjf - -C /path/to/local/ <source-dir> | ssh user@remote-host 'tar xjf - -C /path/to/remote/ <target-dir>' | ||
</syntaxhighlight> | |||
== | '''Remote to local:''' | ||
<syntaxhighlight lang="bash"> | |||
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
jwithz(i.e.,czf,xzf) to use gzip for faster, but less compressed, transfers.