Strona 1 z 1
Bash - pakowanie plików w locie
: 02 stycznia 2013, 15:49
autor: sethiel
Chciałbym w jednej linijce jednocześnie (a może być też na koniec) spakować przetwarzane pliki:
obecnie robię to tak:
Kod: Zaznacz cały
pg_dumpall -h $IP -p $PORT -U $USER > $LOKALIZACJA
tar -cjf $LOKALIZACJA.bz2 $LOKALIZACJA
rm $LOKALIZACJA
Na 100% można to zrobić w jednej linii i zapewne także skrócić mocno cały zapis.
: 02 stycznia 2013, 18:24
autor: markossx
Dla mysqldump działa tak:
Kod: Zaznacz cały
mysqldump -u xxx -h localhost dbname > /tmp/abc && ls /tmp/abc | xargs tar -jcvf /tmp/abc.tbz2
chociaż do końca w locie to to nie jest

: 02 stycznia 2013, 21:47
autor: lessmian2
Coś w stylu poniższego nie działa?
Kod: Zaznacz cały
pg_dumpall -h $IP -p $PORT -U $USER | bzip2 > $LOKALIZACJA
: 03 stycznia 2013, 16:16
autor: markossx
Działa.
: 07 stycznia 2013, 10:58
autor: sethiel
Działa dziękuję.
Ale długo 25GB bazę danych pakuje do 1,7GB ale idzie to pół godziny lekko, jak nie więcej.
: 07 stycznia 2013, 19:37
autor: lessmian2
Zawsze możesz użyć gzipa jeśli nie zależy Ci tak bardzo na wielkości pliku wynikowego - powinno być szybciej.
: 08 stycznia 2013, 14:14
autor: sethiel
Zależy zależy - po Internecie i VPN to leci więc im mniej tym lepiej.
: 08 stycznia 2013, 15:13
autor: otypoks
Szybciej da się pbzip2 lub lbzip2, mniejsze pliki wynikowe powinno dać lzma z wykorzystaniem np. pxz.