Güzel bir araç var pv
# On Ubuntu/Debian system
$ sudo apt-get install pv
# On Redhat/CentOS
$ sudo yum install pv
o zaman örneğin şöyle kullanabilirsiniz
$ zcat dbpackfile.sql.gz | pv -cN zcat | mysql -uuser -ppass dbname
En son sürümüm için lütfen UPDATE 2'yi kontrol edin
ps: bu blogu kontrol edin http://blog.larsstrand.org/2011/12/tip-pipe-viewer.html
GÜNCELLEME: yukarıdaki bağlantı kopmuş gibi görünüyor ama burada aynı makaleyi buldum http://blog.larsstrand.no/2011/12/tip-pipe-viewer.html
GÜNCELLEME 2: TAM ilerleme çubuğu ile daha da iyi bir çözüm. Bunu yapmak için 2 dahili pv
seçenek kullanmanız gerekir . Biri --progress
ilerleme çubuğu göstermek için ve ikinci --size
anlatmak için pv
toplam dosya ne kadar büyük.
pv --progress --size UNPACKED-FILE-SIZE-IN-BYTES
.. sorun .gz
orijinal dosya boyutundadır. Bir şekilde kendi kendine açmadan orijinal dosya boyutu bilgilerini açmanız gerekir, aksi takdirde bu dosyayı iki kez açmak için değerli zamanınızı kaybedersiniz (ilk kez pv
ve ikinci kez zcat
). Ancak neyse ki gzip -l
, gziped dosyamız hakkında sıkıştırılmamış bilgiler içeren seçeneğiniz var. Ne yazık ki tablo biçiminde var, bu yüzden kullanmadan önce çıkarmanız gerekir. Hep birlikte aşağıda görülebilir:
gzip -l /path/to/our/database.sql.gz | sed -n 2p | awk '{print $2}'
Uff .. Yani yapmanız gereken son şey hepsini bir araya getirmek.
zcat /path/to/our/database.sql.gz | pv --progress --size `gzip -l %s | sed -n 2p | awk '{print $2}'` | mysql -uuser -ppass dbname
Daha da güzelleştirmek için NAME gibi progresleri bu şekilde ekleyebilirsiniz.
zcat /path/to/our/database.sql.gz | pv --progress --size `gzip -l %s | sed -n 2p | awk '{print $2}'` --name ' Importing.. ' | mysql -uuser -ppass dbname
Son sonuç:
Importing.. : [===========================================>] 100%
GÜNCELLEME 3: Hızlı kullanım için özel fonksiyon oluşturun.
mysql_import() {
zcat $2 | pv --progress --size `gzip -l %s | sed -n 2p | awk '{print $2}'` --name ' Importing.. ' | mysql -uuser -ppass $1
}
kullanımı:
mysql_import dbname /path/to/our/database.sql.gz
Nereye koyacağınızı bilmiyorsanız, şu cevabı okuyun:
/unix//a/106606/20056
Takma adlar arasına işlev ekleyebilirsiniz. Yani örneğin ~/.bash_aliases
dosya kullanabilirsiniz .
pv
,cpipe
) bu senaryoda çalışıyor mu?