Papierkorb auf Kommandozeilenebene
Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.
|
Einleitung
Minimalistische Systeme verzichten oft auf große Dateimanager. Trotzdem ist es möglich, sich ein "intelligentes" Papierkorbsystem einzurichten. Ein Weg dazu wäre die Verwendung des Kommandozeilenprogramms trash-cli in Verbindung mit cron bzw. anacron.
trash-cli
Das Programm findet sich in den offiziellen Quellen, die Installation ist denkbar einfach:
root@debian:~# apt install trash-cli
Trash-cli bringt mehrere Befehle mit:
trash bzw. trash-put trash-empty trash-list trash-restore trash-rm
Die Verwendung der einzelnen Befehle ist selbsterklärend, die Dokumentation in den Manpages gut und mit Beispielen versehen.
Für die schnellere Benützung der einzelnen Befehle in der Kommandozeile bietet sich natürlich das Abkürzen mit Aliases an, zB:
alias te='trash-empty' alias tl='trash-list' alias tp='trash-put' alias tu='trash-restore' alias trm='trash-rm'
Einrichtung eines Cronjobs zur Leerung
Cron bzw. auf Laptops auch Anacron werden bei der Grundinstallation von Debian mitinstalliert und grundlegend eingerichtet.
Wir wollen nun, dass (Ana)cron in Zukunft täglich überprüft, ob im Papierkorb Dateien liegen, die älter als 10 Tage sind und diese dann endgültig löscht.
Dazu erstellen wir als Root ein Skript mit dem Namen /etc/cron.daily/trash-empty mit folgendem Inhalt:
#!/bin/sh set -e # Lösche die Dateien im Papierkorb von Root, die älter als 10 Tage sind trash-empty 10 # Lösche auch die Userdateien im Papierkorb, die älter als 10 Tage sind runuser USERNAME -c 'trash-empty 10'
Da Cronjobs prinzipiell im Pfad von Root ausgeführt werden, ist die Verwendung von runuser aus util-linux wichtig. Auf diese Art kann die Aufgabe ohne Abfragen des Userpassworts von Root erledigt werden. USERNAME muss natürlich angepasst werden.
Mittels folgenden Befehls machen wir den Job jetzt ausführbar:
root@debian:~# chmod +x /etc/cron.daily/trash-empty
Ab dem nächsten Aufruf von cron.daily werden nun täglich die Papierkörbe auf zu löschende Dateien kontrolliert. Die Anzahl der Tage, ab welchen eine Datei gelöscht werden soll, lässt sich natürlich selbst festlegen.
Schlussbemerkung
Auf diese einfache Weise haben wir ein mehr oder weniger intelligentes Papierkorbsystem auf Kommandozeilenebene, um das man sich im Prinzip nicht weiter zu kümmern braucht. Weiters ist es so auch möglich, die einzelnen Trash-Befehle in Terminal-Dateimanager einzubauen.