mirror of
https://github.com/upa/mscp.git
synced 2026-02-04 03:24:58 +08:00
bump version to 0.0.5 and update README
This commit is contained in:
91
README.md
91
README.md
@@ -48,18 +48,18 @@ async](https://archive.libssh.org/libssh/2020-06/0000004.html)).
|
|||||||
Currently macOS and Linux (Ubuntu, CentOS, Rocky) are supported.
|
Currently macOS and Linux (Ubuntu, CentOS, Rocky) are supported.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
# 1. clone this repository
|
# clone this repository
|
||||||
git clone https://github.com/upa/mscp.git
|
git clone https://github.com/upa/mscp.git
|
||||||
cd mscp
|
cd mscp
|
||||||
|
|
||||||
# 2. prepare patched libssh
|
# prepare patched libssh
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
patch -d libssh -p1 < patch/libssh-0.10.4.patch
|
patch -d libssh -p1 < patch/libssh-0.10.4.patch
|
||||||
|
|
||||||
# 3. install build dependency
|
# install build dependency
|
||||||
bash ./scripts/install-build-deps.sh
|
bash ./scripts/install-build-deps.sh
|
||||||
|
|
||||||
# 4. configure mscp
|
# configure mscp
|
||||||
mkdir build && mv build
|
mkdir build && mv build
|
||||||
cmake ..
|
cmake ..
|
||||||
|
|
||||||
@@ -79,12 +79,12 @@ make install
|
|||||||
|
|
||||||
```console
|
```console
|
||||||
$ mscp
|
$ mscp
|
||||||
mscp v0.0.4: copy files over multiple ssh connections
|
mscp v0.0.5: copy files over multiple ssh connections
|
||||||
|
|
||||||
Usage: mscp [vqDCHdh] [-n nr_conns] [-m coremask]
|
Usage: mscp [vqDCHdNh] [-n nr_conns] [-m coremask]
|
||||||
[-s min_chunk_sz] [-S max_chunk_sz] [-a nr_ahead]
|
[-s min_chunk_sz] [-S max_chunk_sz] [-a nr_ahead] [-b buf_sz]
|
||||||
[-l login_name] [-p port] [-i identity_file]
|
[-l login_name] [-p port] [-i identity_file]
|
||||||
[-c cipher_spec] source ... target
|
[-c cipher_spec] [-M hmac_spec] source ... target
|
||||||
```
|
```
|
||||||
|
|
||||||
- Example: copy a 15GB file on memory over a 100Gbps link
|
- Example: copy a 15GB file on memory over a 100Gbps link
|
||||||
@@ -93,66 +93,63 @@ Usage: mscp [vqDCHdh] [-n nr_conns] [-m coremask]
|
|||||||
|
|
||||||
```console
|
```console
|
||||||
$ mscp /var/ram/test.img 10.0.0.1:/var/ram/
|
$ mscp /var/ram/test.img 10.0.0.1:/var/ram/
|
||||||
[=====================================================] 100% 15GB/15GB 1.9GB/s
|
[======================================] 100% 15GB/15GB 1.7GB/s 00:00 ETA
|
||||||
|
```
|
||||||
|
|
||||||
# with some optimizations. top speed reaches 2.9GB/s.
|
```console
|
||||||
$ mscp -n 8 -m 0xff -a 32 -c aes128-gcm@openssh.com /var/ram/test.img 10.0.0.1:/var/ram/
|
# with some optimizations. top speed reaches 3.0GB/s.
|
||||||
[=====================================================] 100% 15GB/15GB 2.2GB/s
|
$ mscp -n 5 -m 0x1f -c aes128-gcm@openssh.com /var/ram/test.img 10.0.0.1:/var/ram/
|
||||||
|
[======================================] 100% 15GB/15GB 2.4GB/s 00:00 ETA
|
||||||
```
|
```
|
||||||
|
|
||||||
- `-v` option increments verbose output level.
|
- `-v` option increments verbose output level.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ mscp test 10.0.0.1:
|
$ mscp test 10.0.0.1:
|
||||||
[=====================================================] 100% 13B/13B 2.41KB/s
|
[======================================] 100% 26B /26B 6.3KB/s 00:00 ETA
|
||||||
|
```
|
||||||
|
|
||||||
$ mscp -v test 10.0.0.1:
|
```console
|
||||||
file test/test.txt (local) -> ./test/test.txt (remote) 9B
|
$ mscp -vv test 10.0.0.1:
|
||||||
file test/test2/2.txt (local) -> ./test/test2/2.txt (remote) 2B
|
number of connections: 7
|
||||||
file test/1.txt (local) -> ./test/1.txt (remote) 2B
|
|
||||||
copy start: test/test.txt
|
|
||||||
copy start: test/1.txt
|
|
||||||
copy start: test/test2/2.txt
|
|
||||||
copy done: test/1.txt
|
|
||||||
copy done: test/test2/2.txt
|
|
||||||
copy done: test/test.txt
|
|
||||||
[=====================================================] 100% 13B/13B 2.51KB/s
|
|
||||||
|
|
||||||
$ mscp -vv -n 4 test 10.0.0.1:
|
|
||||||
connecting to 10.0.0.1 for checking destinations...
|
connecting to 10.0.0.1 for checking destinations...
|
||||||
file test/test.txt (local) -> ./test/test.txt (remote) 9B
|
file test/testdir/asdf (local) -> ./test/testdir/asdf (remote) 9B
|
||||||
file test/test2/2.txt (local) -> ./test/test2/2.txt (remote) 2B
|
file test/testdir/qwer (local) -> ./test/testdir/qwer (remote) 5B
|
||||||
file test/1.txt (local) -> ./test/1.txt (remote) 2B
|
file test/test1 (local) -> ./test/test1 (remote) 6B
|
||||||
|
file test/test2 (local) -> ./test/test2 (remote) 6B
|
||||||
|
we have only 4 chunk(s). set number of connections to 4
|
||||||
connecting to 10.0.0.1 for a copy thread...
|
connecting to 10.0.0.1 for a copy thread...
|
||||||
connecting to 10.0.0.1 for a copy thread...
|
connecting to 10.0.0.1 for a copy thread...
|
||||||
connecting to 10.0.0.1 for a copy thread...
|
connecting to 10.0.0.1 for a copy thread...
|
||||||
connecting to 10.0.0.1 for a copy thread...
|
copy start: test/test1
|
||||||
copy start: test/test.txt
|
copy start: test/test2
|
||||||
copy start: test/1.txt
|
copy done: test/test1
|
||||||
copy start: test/test2/2.txt
|
copy start: test/testdir/asdf
|
||||||
copy done: test/test.txt
|
copy done: test/test2
|
||||||
copy done: test/test2/2.txt
|
copy start: test/testdir/qwer
|
||||||
copy done: test/1.txt
|
copy done: test/testdir/qwer
|
||||||
[=====================================================] 100% 13B/13B 3.27KB/s
|
copy done: test/testdir/asdf
|
||||||
|
[======================================] 100% 26B /26B 5.2KB/s 00:00 ETA
|
||||||
```
|
```
|
||||||
|
|
||||||
- Full usage
|
- Full usage
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ mscp -h
|
$ mscp -h
|
||||||
mscp v0.0.4: copy files over multiple ssh connections
|
mscp v0.0.5: copy files over multiple ssh connections
|
||||||
|
|
||||||
Usage: mscp [vqDCHdh] [-n nr_conns] [-m coremask]
|
Usage: mscp [vqDCHdNh] [-n nr_conns] [-m coremask]
|
||||||
[-s min_chunk_sz] [-S max_chunk_sz] [-a nr_ahead]
|
[-s min_chunk_sz] [-S max_chunk_sz] [-a nr_ahead] [-b buf_sz]
|
||||||
[-l login_name] [-p port] [-i identity_file]
|
[-l login_name] [-p port] [-i identity_file]
|
||||||
[-c cipher_spec] source ... target
|
[-c cipher_spec] [-M hmac_spec] source ... target
|
||||||
|
|
||||||
-n NR_CONNECTIONS number of connections (default: half of # of cpu cores)
|
-n NR_CONNECTIONS number of connections (default: floor(log(cores)*2)+1)
|
||||||
-m COREMASK hex value to specify cores where threads pinned
|
-m COREMASK hex value to specify cores where threads pinned
|
||||||
-s MIN_CHUNK_SIZE min chunk size (default: 64MB)
|
-s MIN_CHUNK_SIZE min chunk size (default: 64MB)
|
||||||
-S MAX_CHUNK_SIZE max chunk size (default: filesize / nr_conn)
|
-S MAX_CHUNK_SIZE max chunk size (default: filesize/nr_conn)
|
||||||
|
|
||||||
-a NR_AHEAD number of inflight SFTP commands (default: 16)
|
-a NR_AHEAD number of inflight SFTP commands (default: 32)
|
||||||
|
-b BUF_SZ buffer size for i/o and transfer
|
||||||
|
|
||||||
-v increment verbose output level
|
-v increment verbose output level
|
||||||
-q disable output
|
-q disable output
|
||||||
@@ -161,15 +158,15 @@ Usage: mscp [vqDCHdh] [-n nr_conns] [-m coremask]
|
|||||||
-l LOGIN_NAME login name
|
-l LOGIN_NAME login name
|
||||||
-p PORT port number
|
-p PORT port number
|
||||||
-i IDENTITY identity file for public key authentication
|
-i IDENTITY identity file for public key authentication
|
||||||
-c CIPHER cipher spec, see `ssh -Q cipher`
|
-c CIPHER cipher spec
|
||||||
|
-M HMAC hmac spec
|
||||||
-C enable compression on libssh
|
-C enable compression on libssh
|
||||||
-H disable hostkey check
|
-H disable hostkey check
|
||||||
-d increment ssh debug output level
|
-d increment ssh debug output level
|
||||||
|
-N disable tcp nodelay (default on)
|
||||||
-h print this help
|
-h print this help
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Note: mscp is still under development, and the author is not
|
Note: mscp is still under development, and the author is not
|
||||||
responsible for any accidents due to mscp.
|
responsible for any accidents due to mscp.
|
||||||
|
|||||||
Reference in New Issue
Block a user