PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zip bindet home-Ordner mit ein


Dove
08.01.2007, 12:26
Hallo,
ich hab folgendes Problem, und zwar möchte ich per Script einen Ordner (plus Unterordner) zippen und dann per scp auf einen anderen Server schieben.

Soweit kein Problem.
Zippen funktioniert und das scp'en auch.
Nur zippt mir zip auch die Ordner und Dateien aus dem Home-Ordner mit.
d.h. da ich das per rsa verschicke nimmt er diesen ssh-key mit was zu einer großen sicherheitslücke wird.
Dazu kommt, das die dateien die gezippt werden an kunden geschickt werden und diese natürlich nur die bestimmten dateien bekommen sollen.

#!/bin/bash

cd /mnt/k/dispoplus/java/classes/help/default/topics/

find . -name "*" -print | grep -v *_vti_cnf* | grep -v *kunden* | zip /root/dplus_help/help.zip -@ > /dev/null



ich habe das mit zip -@ gemacht, da ich nur die Ordner und dateien haben möchte, die auch für die Kunden bestimmt sind.

Kann mir jemand nen rat geben, wie ich das eventuell "klüger" lösen könnte oder den Home-Ordner raus lasse?


PS.: Er packt auch die versteckten Ordner mit rein.


smg
08.01.2007, 14:05
Schau mal nach was
find . -name "*" -print | grep -v *_vti_cnf* | grep -v *kunden* für Resultate liefer, am besten noch die Regexps quoten ;-)
Vielleicht findet er zuviel, oder hast du eventuell einen Symlink in deinem Verzeichnis?

zu deinem PS:
find . -maxdepth 2 | grep "^\./[^\.]"

findet bei einer solchen Struktur:

stephan@unimatrix ~/testen $ tree -a
.
|-- .a
|-- .b
`-- fubar
|-- g
|-- i
`-- j

3 directories, 3 files

diese Resultate:

./fubar
./fubar/g
./fubar/i
./fubar/j

Passt das so auch für dich? Ich hoffe ich habe dich richtig verstanden. :)

Dove
08.01.2007, 15:13
das Problem ist, das die Dateien mit Frontpage :| erstellt werden und Frontpage in jeden Ordner nen _vti_cnf rein haut.

und die Unterordner-tiefe nicht wirklich bekannt ist bzw beliebig tief sein kann.
Hoffe du verstehst was ich meine.:mauer:

Nen Symlink ist nicht gesetzt. Wenn ich das script unter root ausführe ist halt dem root sein homeverzeichnis da drin, wenn ich das unter einem anderen user mache ist dem sein Home in der Zip mit drin.

Dove
12.01.2007, 10:43
hab den ganzen quatsch noch mal bissl überarbeitet und den find befehl auf find . -name "*.*" -print ergänzt nu lässt er das Homeverzeichnis außen vor.

Woran das jetzt genau gelagen hat kann ich nicht sagen, ob ne tilde ein einem Dateinamen war o.ä. ka
Auf jeden Fall gehts jetzt.