[linux-l] Probleme mit Cleanupscript

Dani Oderbolz oderbolz at ecologic.de
Di Jul 8 15:24:50 CEST 2003


Jens Dreger wrote:

>On Mon, Jul 07, 2003 at 10:15:52PM +0200, Oswald Buddenhagen wrote:
>  
>
>>On Mon, Jul 07, 2003 at 08:17:06PM +0200, Jens Dreger wrote:
>>    
>>
>>>On Mon, Jul 07, 2003 at 04:45:38PM +0200, Dani Oderbolz wrote:
>>>      
>>>
>>>>Hallo zusammen,
>>>>nachdem ich mir Backupscripts geschrieben habe,
>>>>m?chte ich nun ein Cleanupscript schreiben, welches
>>>>alte Backups l?scht.
>>>>
>>>>Ich habe folgende Zeile in meinem Script:
>>>>
>>>>find "${DIRECTORY}" -name '"${PATTERN}"' -mtime +"${MTIME}" -exec rm {} \;
>>>>        
>>>>
>>>'"${PATTERN}"' -> "'${PATTERN}'" ?
>>>
>>>      
>>>
>>beides falsch :-P
>>wozu sollen die single quotes gut sein?
>>    
>>
>
>Das habe ich mich auch gefragt, aber wenn die single quotes aussen
>stehen, ersetzt die shell das ${PATTERN} nicht:
>
Hmm, wieder mal ein Quotingproblem.
Auf jeden Fall vielen Dank, das hat geholfen.
Nur steht nun schon das nächste Problem an:
ich möchte in meiner Konfiguration einstellen können, was denn mit
alten Dateien passiert.
Ich mache dazu folgendes im Konfigfile:

# Verzeichnis    Pattern    Suchtiefe    Zeit_in_Tagen Kommando ( \{\} 
bezeichnet die aktuelle Datei)
/home/admin/log    *    1    30    "/bin/mv \{\} /home/admin/log/old/ \;"

Das Script macht dann dieses:
find "${DIRECTORY}" -name "${PATTERN}" -maxdepth "${MAXDEPTH}" -mtime 
+"${MTIME}" -exec "${COMMAND}"

Die Idee wäre also, dass alle Dateien in /home/admin/log 
(Unterverzeichnisse werden ignoriert), die älter als 30 Tage sind,
nach /home/admin/log/old kopiert werden.
Das script findet (endlich :-) die Dateien, doch find führt das Kommando 
nicht aus, sondern sagt das:
find: "/bin/mv /home/admin/log/backup_files.sh.bak /home/admin/log/old/ 
;": Datei oder Verzeichnis nicht gefunden
(Und so weiter für jede gefundene Datei).

Wo liegt dieser Hund begraben?
Vielen Dank für eure tolle Hilfe!

Gruss, Dani






Mehr Informationen über die Mailingliste linux-l