Leere Verzeichnisse finden - Verbesserung
Ich hab das Script noch etwas verbessert:
findemptydir
Ich hab das Script noch etwas verbessert:
findemptydir
Zum aufräumen meiner mp3 Sammlung hab ich ein Python Script geschrieben, welches leere Verzeichnisse findet:
#!/usr/bin/python
from os import path, listdir
from sys import argv, stderr
count=0
def find(dr):
global count
count+=1
stderr.write("\rscanned "+count.__str__()+" dirs\r")
stderr.flush()
try:
filelist=listdir(dr)
if len(filelist) == 0:
print "\'"+dr+"\'"
except:
filelist=[]
stderr.write(”could not read ” + dr + “\n”)
stderr.flush()
for file in filelist:
df=path.join(dr,file)
if path.isdir(df):
find(df)
try:
find(argv[1])
except:
pass
Der Automounter bietet die Möglichkeit bei Zugriff auf ein Verzeichnis automatisch etwas in dieses zu mounten.
Das kann eine Partition sein, aber vor allem auch Netzwerk freigaben.
Zuerst installieren wir das Paket autofs, welches im Paketmanager jeder vernünftigen Distribution enthalten ist.
Debian legt die Configdateien nach /etc, gentoo nach /etc/autofs.
In die Datei auto.master schreiben wir z.B:
/network /etc/auto.network --ghost --timeout=300
Das besagt das /network von autofs verwaltet wird. Die Mountpoints stehen in /etc/auto.network. –ghost sorgt dafür das die Mountpoints angezeigt werden, und –timeout besagt wie lange der mount bestehen bleibt wenn nicht mehr darauf zugegriffen wird (in sekunden).
Die datei auto.network legen wir an und schreiben z.B das rein:
server -fstype=cifs,username=xy,password=yx \
://10.0.3.1/bla
distfiles -fstype=nfs 10.1.0.1:/distfiles
Nach neustart von autofs stehen nun die Verzeichnisse /network/server und /network/distfiles zur verfügung. Bei Zugriff auf die Verzeichnisse wird automatisch die entsprechende Freigabe gemountet, und 300 Sekunden nach Zugriff wieder ungemountet.
Möchte man ssh in Scripts verwenden, um Dinge zu automatisieren, stört das Passwort.
Natürlich währe es zu unsicher keine Authentifizierung zu verwenden.
Der richtige Weg arbeitet mit einem Public/Private Key Verfahren.
Diese erzeugen wir auf dem Client Rechner mit:
# ssh-keygen -t dsa
im verzeichniss ~/.ssh wird dann unter anderem die datei id_dsa.pub erzeugt.
dieser Public key wird beim server an die datei ~/.ssh/authorized_keys angehängt.
Das kann man z.B. so machen:
# cat ~/.ssh/id_dsa.pub | ssh zielrechner 'cat >> ~/.ssh/authorized_keys'
Fertig
Powered by WordPress