Bei ausschalten einen Ordner leeren

_linx_

_linx_

Mitglied
Tach,

Mein Problem hat nicht direkt etwas mit Ubuntu, Debian oder Knoppix zu tun. Ich bin sowieso Kubuntuuser, aber einen Kubuntubereich hab ich nicht gefunden...

Es geht um das herunterfahren. Ich weiss, dass da irgendeine Datei ausgefüht wird, welche hab ich vergessen. Nun möchte ich dieser Datei noch anhängen, dass sie mir ein Verzeichniss leert, nicht löscht...

Code:
rm -rf /pfad/zum/ordner

Ist das korrekt? Aber in welche Datei kommt das nun rein? Ist doch irgendwas mit /bin/bash oder so...

Danke schon im voraus.
 
dass sie mir ein Verzeichniss leert, nicht löscht...
Code:
rm -rf /pfad/zum/ordner
Genau das tsut du aber mit dem Befehl.
Code:
rm -f /path/to/dir/*
ist das, was du willst.
Und dann in ein script packen, und supersuckers Tip befolgen.
 
Was ist der Unterschied zwischen -rf und -r? Das das Verzeichniss selber nicht gelöscht wird?
Mit -f wird die Nachfrage unterdrückt.(force) Mit -r wird rekursiv gelöscht. Also das Verzeichnis mit.

man rm schrieb:
-r, -R, --recursive
Rekursives Entfernen der Inhalte von Verzeichnissen.
-f, --force
Ignorieren nicht vorhandener Dateien, keine Nachfragen.
 
Ok. Es geht nun. Ich hab aber trotzdem -rf verwendet, da er mir sonst keine Unterverzeichnisse gelöscht hat...

Code:
rm -rf /pfad/zum/ordner/*
 
Unabhängig von kde oder what ever ist ein Skript im runlevel-Verzeichnis.
Alle k??skriptname werden nämlich dort verwendet, um entsprechende Prozesse beim Beenden zu killen.

Nur so als Hinweis

Gruß Wolfgang
 
Unabhängig von kde oder what ever ist ein Skript im runlevel-Verzeichnis.
Alle k??skriptname werden nämlich dort verwendet, um entsprechende Prozesse beim Beenden zu killen.

Nur so als Hinweis

Gruß Wolfgang

Hmm... Ich hab es jetzt ausprobiert.

Pfad:
/home/christian/.kde/shutdown/shutdown.sh
Dort ist meine Datei mit folgendem Inhalt:
Code:
#!bin/bash

# clear temporary dir
rm -rf /home/christian/temporary/

Wenn ich das Script in der Konsole aufrufe geht es. Aber wenn ich den PC normal herunterfahre geht es nicht, die Dateien bleiben im Ordner. Hab ich die Datei etwa falsch benannt?
 
In welches runlevel-Verzeichnis hast Du das Teil denn reingetan?

Davon abgesehen finde ich die Lösung mit ~/.kde/shutdown aber auch sehr praktikabel. Funktioniert bei mir einwandfrei.
 
In welches runlevel-Verzeichnis hast Du das Teil denn reingetan?

Davon abgesehen finde ich die Lösung mit ~/.kde/shutdown aber auch sehr praktikabel. Funktioniert bei mir einwandfrei.

Runlevel? Ich hab das Ding nach ~/.kde/shutdown kopiert, was bei mir /home/christian/.kde/shutdown/ entspricht. Was ist ein Runlevel?
 
Naja, nach diesem Zitat von Wolfgang:

Unabhängig von kde oder what ever ist ein Skript im runlevel-Verzeichnis.

...hast Du das geschrieben:

Hmm... Ich hab es jetzt ausprobiert.

Also dachte ich natürlich, dass Du das ausprobiert hättest.

Egal, in ~/.kde/shutdown kannst Du keine Skripte reinpacken, dass müssen schon .desktop-Dateien sein. Erstelle also eine Verknüpfung zu Deinem Skript und lege dieses nach ~/.kde/shutdown.

Über die runlevel würde ich mich an Deiner Stelle trotzdem mal informieren.
 
Also, über das runlevel hab ich mich informiert, bei wikipedia, hat mir allerdings nicht alle Welt geholfen, aber dann halt.

Ich habe jetzt eine .desktop-Datei gemacht und hoffe, das es geht. Wusste ja nicht, dass das eine .desktop-Datei sein muss. Aber egal. Ich hoffe es geht jetzt.
 
ich würde ein Script schreiben ("rm <Pfad>/*" --> alles im Pfad wird gelöscht) und einen Symbolischen Link bekinnend mit "K...." in das Verzeichnis "/etc/init.d/rc5.init/ anlegen.
Das "K" Steht bekanntlich für Prozessebeenden, du musst nur noch nach dem K eine Zahlenwert und anschliessen einen Namen angeben, Hierbei bestimmt der Zahlenwert wann der Prozesse beendet wird. Z.B. heißt K01 das der Prozess als erstes beendet wird.
Achtung: Solltest du z.b. etwas in der Form "K01Alha" und "K01Cesar" haben, so wird nach alphabetischer Reihenfolge runter gefahren (a..., dann b..., dann c..., und so weiter)
 
oder etwas einfacher: script nach /etc/init.d/ packen und mit sysv-rc-conf in die runlevel verlinken (einfach ein X in die runlevel setzen in die ein link soll).
 
Mag ja schön und gut sein, aber ich seh bei mir in /etc/ keine inittab Datei. Also kann ich da ja auch nichts machen...
Das Verzeichnis - nicht eine Datei - (windowslike auch Ordner genannt) nennt sich /etc/init.d
Dort liegen üblicherweise bei Debain, *buntu und Derivaten (bei BDS und Slackware ist das anders) die Start/Stop - Skripte.
Diese werden je nach Runlevel in die Verzeichnisse /etc/rc<RUNLEVELNUMMER>.d verlinkt.

Eine /etc/inittab gibt es unter Debian auch, dort lässt sich u.A. das default Runlevel einstellen.
Wenn du darüber zu wenig Kenntnis hast, dann lass diese lieber erstmal in Ruhe.

Beispiel:
Debian hat erstmal per default lt. /etc/inittab das Runlevel 2.
Das bedeutet, wenn du normal startest, werden alle Skripte im /etc/rc2.d in der Reihenfolge ausgeführt.
Dort stehen aber nur Softlinks auf Skripte die sich in /etc/init.d befinden.
Diese Links haben Namen die mit S<NN><NAME> festgelegt werden.
Wenn du z.B. ein Skript starten willst, was ein Netzwerk braucht, muss das nach dem Netzwerk starten. Hat nun z.B. der Network Start folgenden Namen:
S21networking , dann darf dein Script erst nach dem Start des Network starten. Also vergibst du den Namen als e.g. S22myskkrip und verlinkst es.
Code:
ln -s /etc/init.d/myskript.sh /etc/rc2.d/S21myskript
Das setzt natürlich vorraus, dass du das Skript /etc/init.d/myskript dort angelegt und ausführbar gemacht hast.
Das Ganze gilt bei den Kill Skripten auch, nur ist Die Reihenfolge zu beachten.
Diese fangen mit K<NN>>NAME> an. NN ist wieder die Kill-Reihenfolge-Nummer. (blödes Wortkonstrukt ;) )
Sprich du musst erst löschen, bevor die Partition ausgehängt wird!
Das bedeutet, dass die Nummer kleiner sein muss, als die von beispielsweise /etc/init.d/umountfs.

Hoffe das war einigermaßen verständlich.

Vertiefung des Wissens darüber ist angeraten und dir selbst überlassen.

Gruß Wolfgang
BTW War das auch nur für User, die von der KDE oder Gnome unabhängig sein wollen gedacht!
 
Zuletzt bearbeitet:

Ähnliche Themen

Falsche Rechte gesetzt beim Anlegen von Ordnern via Samba-Client

script wird von Cron ausgeführt, aber einige Befehle nicht

Programmstart Opera: error while loading shared libraries: libqt-mt.so.3:

Zurück
Oben