Dateien gemäß Alter archivieren lassen .....

Post Reply
Message
Author
User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

Dateien gemäß Alter archivieren lassen .....

#1 Post by Stormbringer »

Hallo liebe Coder!!! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Würde mir bitte jemand ein Skript zaubern, welches Dateien in einem Verzeichnis erst nach einigen Tagen archiviert?

Hintergrund:
auf einen FTP Server bieten wir einigen Partnern Preistabellen zum download an.
Diese Dateien würden wir gerne auch dort belassen, so daß auch im Nachhinein auf die Daten zugegriffen werden kann. Der Übersichtlichkeit halber, und wegen dem Platzbedarf, möchte ich dann aber ganz gerne, daß alle Dateien älter als bspw. 10 Tage in ein .tar.gz oder .bz2 Archiv gepackt werden.

Auf jeden Fall schon einmal Vielen Dank!!!!

Gruß
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

ratte

Re: Dateien gemäß Alter archivieren lassen .....

#2 Post by ratte »

ist zwar nicht dafuer gemacht, aber vielleicht kannst du <b>logrotate</b> dafuer konfigurieren?

ratte

Jochen

Re: Dateien gemäß Alter archivieren lassen .....

#3 Post by Jochen »

Hi, Stormbringer! War Jeanette Dein Schwesterchen? <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/bin/bash

VERZEICHNIS=mein/verzeichnis/mit/daten # Ohne führenden Slash
ARCHIV=$VERZEICHNIS/archiv # Ohne Endung
FRIST=10 # Tage

# Da wir sichern, machen wir dies mit relativen Pfadnamen ab /.
cd /

# Archiv auspacken, da Option -r bei tar nicht mit
# komprimierten Archiven funktioniert. Existiert die
# Datei nicht, einfach weitermachen, da wahrscheinlich
# bis dato einfach noch keine angelegt wurde.

if [ -r $ARCHIV ] ; then
bzip2 -d $ARCHIV.tar.bz2
fi

# Liste der zu archivierenden Dateien erstellen,
# Namensmuster hier noch anpassen, da sonst auch die Archiv-Datei
# hier auftauchen koennte
FILES=$(find $VERZEICHNIS -maxdepth 1 -type f -name "preise.*" -mtime -$FRIST -p
rint)

if [ -n "$FILES" ] ; then
# Aufnahme ins Archiv
tar -r -f $ARCHIV.tar $FILES
rm -f $FILES
# Packen des Archivs
bzip2 -9 $ARCHIV.tar
fi

exit 0
</font><hr></pre></blockquote>Es sind noch einige Verbesserungsmöglichkeiten da, beispielsweise Exitcodes der tar- und bzip2-Kommandos checken und entsprechend melden, aber das Gerüst sollte so funktionieren. Allerdings habe ich jetzt nicht viel getestet - probier es mal aus.

Jochen

User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

Re: Dateien gemäß Alter archivieren lassen .....

#4 Post by Stormbringer »

Hallo Jochen,

ich kenne keine Jeanette ..... würde es sich lohnen sie zu kennen? ,-)
Aber vielen Dank für das Skript, ich werde es in den nächsten Tagen testen!!!

Gruß
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

Jochen

Re: Dateien gemäß Alter archivieren lassen .....

#5 Post by Jochen »

Jeanette war das Orkantief, das vor ein paar Tagen über Deutschland gezogen ist... Stormbringer! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Jochen

Post Reply