(gelöst) Sichern von Unterverzeichnissen mit Verzeichnisstr.

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Sarem_Avuton
Beiträge: 546
Registriert: 16.12.2004 09:58:27
Wohnort: Leipzig

(gelöst) Sichern von Unterverzeichnissen mit Verzeichnisstr.

Beitrag von Sarem_Avuton » 08.10.2007 10:12:15

Guten Morgen,

ich stehe gerade auf den Schlauch.
Ich möchte einige Archivordner (courier) auf eine andere gemountete Platte verschieben und dann per symlink wieder im courier Verzeichnis einbinden.
Also z.B. Verzeichnis /var/opt/vmail/domain.local/user/Maildir/.archiv nach /var/opt/vmail/archiv/domain.local/user/.archive verschieben und dann Symlink

Code: Alles auswählen

ln -s /var/opt/vmail/archiv/domain.local/user/.archiv /var/opt/vmail/domain.local/user/Maildir/.archiv
Da es aber um die 30 user sind würde ich das gerne als script machen. Wie kann ich das am besten machen das beim verschieben das richtiger user verzeichnis auf dem Ziel angelegt wird ?

Danke Jörg
Zuletzt geändert von Sarem_Avuton am 08.10.2007 14:06:33, insgesamt 1-mal geändert.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 08.10.2007 11:00:25

Hallo,

ich weiß zwar nicht genau, wo bei courier die user gespeichert sind, aber wenn diese auch in der /etc/passwd stehen, könnte man vielleicht sowas hier machen:

Code: Alles auswählen

daniele@debian:/home/daniel> for i in `cat /etc/passwd | awk -F":" '{ if ($3 >= 1000) { print $1; } } '`; do echo $i `mkdir /tmp/$i`; done; ls -lrt /tmp
nobody
ddreisse
test

drwxr-xr-x 2 daniel daniel 4096 2007-10-08 10:07 test
drwxr-xr-x 2 daniel daniel 4096 2007-10-08 10:07 nobody
drwxr-xr-x 2 daniel daniel 4096 2007-10-08 10:07 ddreisse
Dass ganze kann man dann natürlich für lns -s oder kopieren oder was auch immer abändern.
Oh, yeah!

Sarem_Avuton
Beiträge: 546
Registriert: 16.12.2004 09:58:27
Wohnort: Leipzig

Beitrag von Sarem_Avuton » 08.10.2007 12:19:28

Hallo Duff,

danke für dein Tip. leider sind das keine Systemuser. Ich muß wahrscheinlich was basteln mit

Code: Alles auswählen

find -type d -exec mkdir -p /tmp/test{}  \;
Es wäre halt schön wenn der nur die .archiv Ordner anlegt.

Grüße Jörg

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 08.10.2007 12:38:07

Wenn die user alle unterhalb von /var/opt/vmail/domain.local/ liegen, kannst du sie ja auch ermitteln.

Da kopieren sollte ja dann auch kein Problem sein. Dort kannst du die Variable mit den user-Namen auch wieder verwenden.
Oh, yeah!

Sarem_Avuton
Beiträge: 546
Registriert: 16.12.2004 09:58:27
Wohnort: Leipzig

Beitrag von Sarem_Avuton » 08.10.2007 14:05:32

Hallo Duff,

habe den Weg des geringsten Wiederstandes gewählt ;)

Code: Alles auswählen

#!/bin/bash
# Verzeichnisse finden und Aktionen ausführen
for i in $(find /var/opt/vmail/ -type d -name '.archiv*'); do
        mkdir -p /var/opt/archiv/$i && cp -a $i/* /var/opt/archiv/$i/ ; rm -rf $i && ln -s /var/opt/archiv/$i $i

done
Danke Dir.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 08.10.2007 14:15:52

Ist doch ein schöner 3-Zeiler :wink:
Oh, yeah!

Antworten