[Dresden-pm] Frage zum rekursiven Kopieren von Verzeichnissen
Hans-Dietrich Kirmse
hd.kirmse at gmx.de
Mo Dez 8 22:29:33 PST 2014
Guten Morgen,
in Ermangelung einer PM-Gruppe in Thüringen wendet sich euer Zaungast
aus Saalfeld wiedermal an euch mit der Bitte um Unterstützung.
Eine Kollegin aus Sachsen hat folgendes Anliegen: In ihrer Schule
werkelt ein Linux-Server (delixs) und sie haben eine größere Anzahl von
Windows-Clients. Um bei schon vorhandenen Accounts den Desktop
anzupassen wurde deshalb um ein Script gebeten, was von einem
Musteraccount die neuen Dateien und Verzeichnisse auf den Desktop der
vorhandenen Dateien kopiert. Eine (lauffähige) erste Version eines
solchen Scripts habe ich erstellt
http://www.erasmus-reinhold-gymnasium.de/temp/add2desktop.pl.html
Leider kopiert dieses Script nur Dateien, aber keine Verzeichnisse.
Ich weiss zwar, dass es das Modul File::Copy::Recursive gibt, aber es
müssen auch die Rechte gesetzt werden (das kann vielleicht auch noch
entfallen), aber es muss auf jeden Fall der Owner geändert werden. Und
wie man das mit Perl für einen Verzeichnis rekursiv macht, habe ich
nicht gefunden. Auch wenn es hier vermutlich nicht gebraucht wird, bei
den Rechten sollten ja eigentlich die für Dateien und Verzeichnisse
unterschiedlich gesetzt werden. Auch das weiss ich nicht, wie man das
machen könnte.
Zusammengefasst: es geht um das Ersetzen des 'TODO's in dem folgenden
Abschnitt:
# wenn Datei
if (-f $quelldatei) {
# dann kopieren (gegebenenfalls überschreiben)
$okay = copy $quelldatei, $zieldatei;
# wenn das Kopieren geklappt hat
if ($okay) {
# den Owner und Gruppe setzen
chown $uid, $gid, $zieldatei;
# die Rechte setzen
chmod 0755, $zieldatei;
# den Dateizähler um 1 erhöhen
$anz_files++;
}
}
# sonst (wenn Verzeichnis)
else {
#
# TODO (analog für Verzeichnisse, aber eben rekursiv)
#
}
Wäre für jeden Hinweis zu diesem Problem sehr dankbar.
Viele Grüße
Hans-Dietrich
PS: da ich als Laie und Autodidakt und zudem hier "im eigenen Saft
schmore" würde ich mich auch über jeden Hinweis bzw. Kritik zu diesem
Script unabhängig von diesem Kopierproblem freuen.
Mehr Informationen über die Mailingliste Dresden-pm