[ Elza @ 25.05.2007. 12:46 ] @

Imam jedan problem. Pokušavam da tarujem webmail i to samo datoteke vezano uz korisničke adresare.
Webmail mi je pod putanjom /usr/webmail/pop-web/abegic.pop.ba/_infos/adresar.upf
... pref.ucf

Dakle, svaki korisnik ima svoj direktorij od abegic.pop.ba ... do zmandic.pop.ba i svaki ima iste nazive datoteka tj.adresar.upf i pref.ucf (neki i nemaju pojedinu datoteku, ali ove dvije se uglavnom samo pojavljuju.

E sad najprije sam probala uraditi to preko skriptice i to ovako:

more backup

#!/bin/sh
tar -cpvf /usr/backup/webmail_prefs_$(date +%d%m%Y).tar --directory / --files-from=/home/elza/backup_popis

U datoteku backup_popis stavila sam

more backup_popis
/usr/webmail/pop-web/*/_infos/

I ne ide pa ne ide. javi grešku kao da ne prepoznaje gdje su ove datotekice tj. nešto kao Cannot stat
Kao da ovaj karakter * on ne shvaća kao wildcard nego kao običnu zvjezdicu. A ipak nezgodno je u ovaj popis fajlova navesti puna imena korisnika, malo je to prekomplicirano.

Onda sam jednostavno uradila ovo:
tar -cpvf /usr/backup/webmail_prefs_$(date +%d%m%Y).tar --directory / /usr/webmail/pop-web/*/_infos/
Javlja grešku kao /bin/tar: Argument list too long

Pa sam onda probala samo prvo slovo:
tar -cpvf /usr/backup/webmail_prefs_$(date +%d%m%Y).tar --directory / /usr/webmail/pop-web/a*/_infos/
Ovo je prošlo sve ok.
Al šta bi to značilo da ja sad svako slovo od njih 25 tipkam ručno a inače ovo radim svaki tjedan.

Tražim po netu ima li kakav lakši način, pa ako neko ima kakav savjet dobro bi došao!
Hvala!

[ Tyler Durden @ 25.05.2007. 13:33 ] @
Šta će ti ovo --directory / nisam baš siguran?

Uglavnom probaj ovako.
Napravi si listu lokacija koje treba da se zapakuju (backup_popis) tako što ćeš uraditi recimo
Code:
for i in  `ls /usr/webmail/pop-web/`; do echo /usr/webmail/pop-web/$i/_infos/ >> backup_popis; done


I onda ćeš u fajlu backup_popis imati listu lokacija koje treba da se zapakuju. Tada bi trebalo da ti radi i ovako kako si u početku pokušavala.
[ Elza @ 25.05.2007. 13:40 ] @
Zar baš mora tako preko petlje. Ma nisam baš najsigurnija u tome, bojim se da nešto ne zeznem, to mi je server na poslu
[ Tyler Durden @ 25.05.2007. 14:08 ] @
Pa petlja ti neće ništa uraditi osim što će napraviti spisak putanja.
Ne znam koliko imaš tih korisnika, ali svakako možeš nakon što napraviš ovaj fajl da ga pregledaš ručno i vidiš da nije nešto pogrešno izgenerisano. Ili probaj da testiraš negdje drugdje sa nekim drugim lokacijama najprije da vidiš da li sve to funkcioniše onako kako tebi treba.

Mislim, jasno ti je što petlja radi?? Sa samim bekapom nema nikakve veze.
[ Elza @ 25.05.2007. 14:56 ] @
Naravno da mi je jasno, nema veze s backupom. Čekaj, kako ja pokrenem ovu petlju, formiram neku datoteku ili ?
Jasno mi je kad je pokrenem da se tad puni backup_popis.
[ Elza @ 25.05.2007. 15:02 ] @
Jel ovako, npr. uradim touch popis

i u toj datoteci stavim

vi popis

#!/bin/sh

for i in `ls /usr/webmail/pop-web/`; do echo /usr/webmail/pop-web/$i/_infos/ >> backup_popis; done

I onda samo napravim:

sh popis

I dalje sve po starom?
[ Tyler Durden @ 25.05.2007. 15:04 ] @
Može i tako ali dovoljno ti je da otkucaš na komandnoj liniji
for i in `ls /usr/webmail/pop-web/`; do echo /usr/webmail/pop-web/$i/_infos/ >> backup_popis; done
[ anrxc @ 02.06.2007. 01:24 ] @
Citat:
Elza: Tražim po netu ima li kakav lakši način, pa ako neko ima kakav savjet dobro bi došao!
Hvala!


Uzmi cpio, ne tar. cpio moze dobiti input od druge naredbe (find). Pa bi ti za pocetak mogla napraviti:

# find $WEBMAIL ...izraz... | cpio -o -H tar > backup.tar

man stranice za find i cpio ce ti otkriti ostatak.