Bash - pakowanie plików w locie

Potrzebujesz pomocy z C, C++, perl, python, itp.
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Bash - pakowanie plików w locie

Post 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.
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post 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 :)
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Coś w stylu poniższego nie działa?

Kod: Zaznacz cały

pg_dumpall -h $IP -p $PORT -U $USER  | bzip2 > $LOKALIZACJA
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Działa.
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post 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.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Zawsze możesz użyć gzipa jeśli nie zależy Ci tak bardzo na wielkości pliku wynikowego - powinno być szybciej.
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post autor: sethiel »

Zależy zależy - po Internecie i VPN to leci więc im mniej tym lepiej.
Awatar użytkownika
otypoks
Beginner
Posty: 111
Rejestracja: 18 marca 2007, 13:59
Lokalizacja: Ruda Śląska

Post autor: otypoks »

Szybciej da się pbzip2 lub lbzip2, mniejsze pliki wynikowe powinno dać lzma z wykorzystaniem np. pxz.
ODPOWIEDZ