Skip to content

Copy files and folders with bandwidth control and display progress status

License

Notifications You must be signed in to change notification settings

thimoonxy/xcopy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xcopy

When copied / backup files from/to server file system to/from mounted container, VMs, NFS and or ridiculous CIFS, you've ever experienced certain IO issue. xcopy is a Go (golang) CLI with implementations of ioprogress and bwio that copying files and folders with

  • IO Bandwidth control
  • Display copying progress with human readable units.

How does bwio work

bwio is a smart method to sleep penalty time duration, here's how I'm understanding it:

Progress

Usage

Here is an example of outputting a basic usage of this CLI

$ ./xcp.exe --help
Usage of ~\github.com\thimoonxy\xcopy\xcp.exe:
  -d string
        dst path (default "~")
  -h    Print human readable output .
  -l int
        Bandwitdh limts, e.g. 50 means 50MB/s
  -p    Print progress status .
  -s string
        src path (default "~")
  -v    Print Verbose.

Example

  • Example on windows:

Display progress and limts bw to 10 MB/s:

Progress

Display progress in human readable format, task stats shows IO is shaped to 10 MB/s as expected :

Progress

  • Example on Linux:

Progress

Environment

  • This CLI is designed to work on both Linux & Windows environments.
  • Golang1.7 or newer.

Requirement

About

Copy files and folders with bandwidth control and display progress status

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages