Alternative zu trash (Linux)

Da es an meiner Arbeitsstelle immer mal wieder Kollegen gibt, die Daten löschen und sich dann gar nicht erklären können wie das passiert ist und es mir zu viel Stress macht immer wieder alles aus dem Backup zu holen, habe ich einen Papierkorb für die Kommandozeile geschrieben. Viele von euch kennen sicher schon das Tool trash-cli. Dies ist mir vom Funktionsumfang aber zu groß gewesen, daher habe ich mich an die Lösung einer leichten Alternative für trash-cli gemacht.
Vorteil:

  • die Daten werden erst nach 7 Tagen gelöscht (könnt Ihr ändern indem Ihr -mtime +7 in -mtime +30 ändert –> Daten werden erst nach 30 Tagen gelöscht)
  • beim löschen eines Verzeichnis muss man nicht mehr rm -rf eingeben, ein einfaches rm Ordner reicht

Geplant:

  • überprüfen ob die zu löschende Datei auf der selben Partition wie das Home-Laufwerk liegt
  • Abfangen aller von rm bekannten Parameter und entsprechend darauf reagieren

Fügt den folgenden Code einfach in eure .bash_aliases oder .bashrc ein.

Danach noch ein source .bash_aliases und ab sofort werden die Daten beim Aufruf von rm „Datei“ in /home/username/.trash verschoben.

rm() {

if [[ $1 == -rf ]]; then
shift
fi

mkdir -p ~/.trash;
touch "$1";
mv "$1" ~/.trash/;
find ~/.trash -iname "*" -mtime +7 -delete;
}