Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Datei in Shellscript nach Datum filtern

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Bewo-online
Newbie
Newbie
Beiträge: 16
Registriert: 21. Feb 2005, 11:51

Datei in Shellscript nach Datum filtern

Beitrag von Bewo-online »

Hallo,

ich habe ein kleines Problem und bräuchte einen Rat von erfahren Shellscriptern.
Also, ich mache täglich Datensicherungen per tar auf ein DVD-Ram.
Jeden Wochentag wird ein neues Medium eingelegt. Der tar-String schaut folgendermaßen aus ...

tar -cvf /media/dvdram/backup`date +%d%m%g`.tar /daten

Nun suche ich nach einer Möglichkeit die Dateien nach dem Datumsstring zu filtern, damit ich die älteste Datei auf dem Medium per Script löschen kann.

Danke erstmal
Bernd[/i][/code]
Benutzeravatar
regexer
Advanced Hacker
Advanced Hacker
Beiträge: 1005
Registriert: 3. Dez 2004, 09:29
Wohnort: $_

Re: Datei in Shellscript nach Datum filtern

Beitrag von regexer »

Bewo-online hat geschrieben:tar -cvf /media/dvdram/backup`date +%d%m%g`.tar /daten

Nun suche ich nach einer Möglichkeit die Dateien nach dem Datumsstring zu filtern, damit ich die älteste Datei auf dem Medium per Script löschen kann.

Code: Alles auswählen

rm `ls -t /media/dvdram/backup* | tail -1`
"ls -t" zeigt Dateien an und sortiert nach dem Datumstempel der letzten Dateiänderung. Das düfte in deinem Fall mit dem Datum im Dateinamen identisch sein. "tail -1" beschränkt die Ausgabe auf die letzte Zeile - und damit auf die älteste Datei. "rm" löscht diese Datei.

Es ist etwas ungünstig, dass du als Datum das Format tag-monat-Jahr genommen hat. Hätte man Jahr-Monat-tag verwendet, würde ein ein einfacher ls reichen (der einfach nur alphabetisch sortiert).
Bewo-online
Newbie
Newbie
Beiträge: 16
Registriert: 21. Feb 2005, 11:51

Beitrag von Bewo-online »

Ja, dein Ansatz hört sich gut an.
Ich möchte allerdings immer mindestens ein Archiv auf dem Medium lassen. Das heißt ich muss vorher prüfen ob mindestens zwei existieren.
Mit - if -e /medium/dvdram/backup* usw - kann ich feststellen ob wenigsten eine existiert, aber eben leider nur eine.

Hast du eine Idee wie ich das Medium auf mindesten zwei gesicherte Dateien prüfen kann.

Gruß
Bernd
Benutzeravatar
TeXpert
Guru
Guru
Beiträge: 2166
Registriert: 17. Jan 2005, 11:22

Beitrag von TeXpert »

Code: Alles auswählen

if [ `ls -t | wc -l` -gt 1 ] 
then 
  echo "do something"
fi

Code: Alles auswählen

# to resolve all your problems, try this:
HOWTO='pack c5,41*2,sqrt 7056,unpack(c,H)-2,oct 115' && perl -le "print $HOWTO"
Ich beantworte keine Supportfragen per PM!
Bewo-online
Newbie
Newbie
Beiträge: 16
Registriert: 21. Feb 2005, 11:51

Beitrag von Bewo-online »

Das war´s ! Klappt !

thx
Bernd
Antworten