For this script to work you need a Linux machine with pv installed.

tar cf - ./dir1 ./dir2 ./dirN -P | pv -s $(du -sbc ./dir1 ./dir2 ./dirN | grep total | awk '{print $1}') | gzip -3 > archive.name.tar.gz