Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Sarem_Avuton
- Beiträge: 546
- Registriert: 16.12.2004 09:58:27
- Wohnort: Leipzig
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.
-
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
Es wäre halt schön wenn der nur die .archiv Ordner anlegt.
Grüße Jörg
-
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.
-
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
Oh, yeah!