Skip to content

Instantly share code, notes, and snippets.

@KartikTalwar
Last active October 12, 2025 04:53
Show Gist options
  • Save KartikTalwar/4393116 to your computer and use it in GitHub Desktop.
Save KartikTalwar/4393116 to your computer and use it in GitHub Desktop.

Revisions

  1. KartikTalwar revised this gist Dec 27, 2012. 1 changed file with 21 additions and 13 deletions.
    34 changes: 21 additions & 13 deletions Documentation.md
    Original file line number Diff line number Diff line change
    @@ -5,23 +5,31 @@
    **rsync**
    (Everyone seems to like -z, but it is much slower for me)

    -a: archive mode - rescursive, preserves owner, preserves permissions, preserves modification times, preserves group, copies symlinks as symlinks, preserves device files.
    -H: preserves hard-links
    -A: preserves ACLs
    -X: preserves extended attributes
    -x: don't cross file-system boundaries
    -v: increase verbosity
    --numeric-ds: don't map uid/gid values by user/group name
    --delete: delete extraneous files from dest dirs (differential clean-up during sync)
    --progress: show progress during transfer
    - a: archive mode - rescursive, preserves owner, preserves permissions, preserves modification times, preserves group, copies symlinks as symlinks, preserves device files.
    - H: preserves hard-links
    - A: preserves ACLs
    - X: preserves extended attributes
    - x: don't cross file-system boundaries
    - v: increase verbosity
    - --numeric-ds: don't map uid/gid values by user/group name
    - --delete: delete extraneous files from dest dirs (differential clean-up during sync)
    - --progress: show progress during transfer

    **ssh**
    -T: turn off pseudo-tty to decrease cpu load on destination.
    -c arcfour: use the weakest but fastest SSH encryption. Must specify "Ciphers arcfour" in sshd_config on destination.
    -o Compression=no: Turn off SSH compression.
    -x: turn off X forwarding if it is on by default.
    - T: turn off pseudo-tty to decrease cpu load on destination.
    - c arcfour: use the weakest but fastest SSH encryption. Must specify "Ciphers arcfour" in sshd_config on destination.
    - o Compression=no: Turn off SSH compression.
    - x: turn off X forwarding if it is on by default.

    **Original**

    ```sh
    rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" user@<source>:<source_dir> <dest_dir>
    ```


    **Flip**

    ```sh
    rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" [source_dir] [dest_host:/dest_dir]
    ```
  2. KartikTalwar created this gist Dec 27, 2012.
    27 changes: 27 additions & 0 deletions Documentation.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    ### The fastest remote directory rsync over ssh archival I can muster (40MB/s over 1gb NICs)

    #### This creates an archive that does the following:

    **rsync**
    (Everyone seems to like -z, but it is much slower for me)

    -a: archive mode - rescursive, preserves owner, preserves permissions, preserves modification times, preserves group, copies symlinks as symlinks, preserves device files.
    -H: preserves hard-links
    -A: preserves ACLs
    -X: preserves extended attributes
    -x: don't cross file-system boundaries
    -v: increase verbosity
    --numeric-ds: don't map uid/gid values by user/group name
    --delete: delete extraneous files from dest dirs (differential clean-up during sync)
    --progress: show progress during transfer

    **ssh**
    -T: turn off pseudo-tty to decrease cpu load on destination.
    -c arcfour: use the weakest but fastest SSH encryption. Must specify "Ciphers arcfour" in sshd_config on destination.
    -o Compression=no: Turn off SSH compression.
    -x: turn off X forwarding if it is on by default.

    **Flip**
    ```sh
    rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" [source_dir] [dest_host:/dest_dir]
    ```
    1 change: 1 addition & 0 deletions SSHrsync.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" user@<source>:<source_dir> <dest_dir>