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ß
Dateien gemäß Alter archivieren lassen .....
- Stormbringer
- Posts: 1570
- Joined: 11. Jan 2001 11:01
- Location: Ruhrgebiet
Dateien gemäß Alter archivieren lassen .....
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)
Re: Dateien gemäß Alter archivieren lassen .....
ist zwar nicht dafuer gemacht, aber vielleicht kannst du <b>logrotate</b> dafuer konfigurieren?
ratte
ratte
Re: Dateien gemäß Alter archivieren lassen .....
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
<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
- Stormbringer
- Posts: 1570
- Joined: 11. Jan 2001 11:01
- Location: Ruhrgebiet
Re: Dateien gemäß Alter archivieren lassen .....
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ß
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!)
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)
Re: Dateien gemäß Alter archivieren lassen .....
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
Jochen