Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-07-05 12:39:36

  zyga - Użytkownik

zyga
Użytkownik
Zarejestrowany: 2005-08-25

pakowanie odrębnych katalogów

hej

mam prośbę o pomoc w napisaniu prostego skryptu shellowego, mianowicie chciałbym aby skrypt z danego miejsca zczytywał nazwy katalogów i pakował je wszystkie ale w odrębnych pliach np:

mam katalog:

/home/test 

i tam są katalogi:

kat1
kat2
kat3
....

i tworzył kolejno: kat1.tgz kat2.tgz kat3.tgz  i wiadomo jakby dochodził nowy katalog a ja znowu bym uruchomił skrypt to żeby już wziął go pod uwagę podczas kompresji.

z góry dziekuje pozdrawiam


apt-get remove windows ....
apt-get install debian :)

Offline

 

#2  2007-07-05 16:04:10

  Kiera - Użytkownik

Kiera
Użytkownik
Zarejestrowany: 2006-12-14

Re: pakowanie odrębnych katalogów

Kod:

#!/bin/bash
for katalog in *
do
        tar czvf $katalog.tgz $katalog
done

Najprosciej jak mozna. Ma to jednak taka wade , ze jesli w katalogu w ktorym wykonuje sie ten skrypt sa jakies pliki oprocz katalogow to te pliki popakuje wszystkie, kazdy w odzielnego .tgz wiec najlepiej byloby dodac po spakowaniu aby przeniosl spakowany plik gdzies do katalogu nadrzednego i tam trzymac te spakowane katalogi.

EDIT:

Gdybym sobie przypomnial jaka funkcja zwracala czy cos jest katalogiem czy plikiem to byloby juz dokladnie tak jak chcesz . Wtedy pakowalby tylko katalogi. Mam nadzieje ,ze cos pomoglem.

Offline

 

#3  2007-07-05 17:40:08

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: pakowanie odrębnych katalogów

Gdybym sobie przypomnial jaka funkcja zwracala czy cos jest katalogiem czy plikiem to byloby juz dokladnie tak jak chcesz . Wtedy pakowalby tylko katalogi.

file lub find <ścieżka> -type d

Offline

 

#4  2007-07-05 19:42:28

  Kiera - Użytkownik

Kiera
Użytkownik
Zarejestrowany: 2006-12-14

Re: pakowanie odrębnych katalogów

andreq dzieki.

Teraz masz dobry skrypcik:

Kod:

#!/bin/bash
for katalog in `find . -type d`
do

if [ $katalog == . ]
        then echo "Pomijanie katalogu bierzącego.."
        elif [ -e ./$katalog.tgz ]
        then echo "Pomijanie $katalog poniewaz archiwum $katalog.tgz istnieje..."
        else
        tar czvf $katalog.tgz $katalog

fi

done

Gdybys jednak zaktualizowal cos w ktoryms juz spakowanym katalogu to musisz wywalic sprawdzanie aby moc spakowac to ponownie:

Kod:

elif [ -e ./$katalog.tgz ]
        then echo "Pomijanie $katalog poniewaz archiwum $katalog.tgz istnieje..."

Offline

 

#5  2007-07-17 09:14:29

  zyga - Użytkownik

zyga
Użytkownik
Zarejestrowany: 2005-08-25

Re: pakowanie odrębnych katalogów

dziekuje :)


apt-get remove windows ....
apt-get install debian :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)