altes backup automatisch löschen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
DEBIO
Beiträge: 130
Registriert: 01.04.2007 16:48:38

altes backup automatisch löschen

Beitrag von DEBIO » 18.06.2007 13:38:22

hallo habe hier eine aufgabe an der ich nicht weiterkomm kann mir von euch einer hier diese aufgabe lösen und ma posten ich bin irgendwie zu doof dafür, rauch sie nämlich morgen um was auszuprobieren.

hoffe einer von euch kann das



Mittels eines scripter sollensicherungen gelöscht werden die älterals 10 tage alt sind.
volgende funktion ist vorgegeben in der das zu lschende verzeichnis als variable

Code: Alles auswählen

 $backupfolder
vorgegeben ist.

Code: Alles auswählen

function delode () { 
printing "Altes Backup wird gelöscht" 
find $Backup -mtime +10 -devx -type f -exec rm -r -v {} ; 
1>>$fulllog 2>>fullog  
erstellen sie ein script, das diese funktion beinhaltet und den namen des zu löschenden verzeichnises einlese und an die vorhandene variable übergeben kann.

grb
Beiträge: 8
Registriert: 15.06.2007 11:16:27

Beitrag von grb » 19.06.2007 22:11:36

Hallo,

also zugegebenermaßen habe ich die Aufgabenstellung nicht ganz verstanden, aber ich gehe von folgender Annahme aus:

Es soll ein Verzeichnis eingelesen werden und all jene Dateien in diesem Verzeichnis, die älter als 10 Tage sind, gelöscht werden.

Dies würde mit folgenden Skript funktionieren:

Code: Alles auswählen

 

#!/bin/bash

# ein wenig abgeändert, exec wollte nicht so recht, weiss nicht warum
delode() {
   find "$Backup" -mtime +10 -type f -print | xargs rm -v >>log 2>>errorlog;
}


if [ $# -ne 1 ]; then
   echo "usage: $0 directory"
   exit 1
elif [ ! -d "$1" ]; then
   echo "Argument $1 ist kein Verzeichnis"
   exit 2
else
   Backup="$1"
   delode $Backup
fi
Hoffe, das hilft dir irgendwie weiter.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 20.06.2007 08:01:57

Muss bei dem find bzw. nach dem exec beim find nicht noch ein \ vor das ;?

Code: Alles auswählen

find "$Backup" -type f -a -mtime +10 -exec rm -r -v {} \;
Oh, yeah!

grb
Beiträge: 8
Registriert: 15.06.2007 11:16:27

Beitrag von grb » 20.06.2007 18:55:29

Yup, du hast Recht, ich hatte es auch probiert, hatte aber das leerzeichen zwische '}' und '\' vergessen.

Antworten