This post appeared originally in our sysadvent series and has been moved here following the discontinuation of the sysadvent microsite
pv
is a nice little tool that will take stdin and make a nice little
progress bar and displaying time elapsed, percentage completed (if size is known)
current throughput rate and the total data transferred and with an ETA.
So if you have a tool that can output it’s result on standard output or read from standard input, one can get a progress bar!
It’s nice to know that “data is flowing”.
Other examples
Send file with Netcat and get a nice progress-bar:
pv file | nc -w 1 example.com 3000
Get progress bar on tar output:
tar zcf - /directory | pv > backup.tar.gz
MySQL dump/restore:
mysqldump database | pv > database.sql
pv database.sql | mysql database
Limit the transfer rate and size of data over a pipe
cat /dev/zero | pv -L 3m -Ss 100m > /dev/null
Just-Make-toolbox
make
is a utility for automating builds. You specify the source and the build file and make
will determine which file(s) have to be re-built. Using this functionality in make as an all-round tool for command running as well, is considered common practice. Yes, you could write Shell scripts for this instead and they would be probably equally good. But using make
has its own charm (and gets you karma points).
Even this ... [continue reading]