Hi,
Klingt für mich so, als würde ein normales Shell-Script mit ein paar "cp"- und "mkdir"-Befehlen das schon tun.
Geht das uch wenn sich die sub-ordner und die datei namen ändern?
Was genau willst Du denn machen?
So?
Verz: daten/ (enthält alle zu archivierenden Daten)
Verz: archiv/Jahr_Quartal/ (enthält eine die archivierten Daten)
Dann würde ich das in etwa so schreiben (ich stelle das jetzt mal unter die GPL *g*):
-----------------------------------------------------------------------------------
#!/bin/bash
BASEDIR=/mnt/mydata
DATADIR=daten
ARCHIVEDIR=archiv
CURR_YEAR=date +%Y
CURR_MONTH=date +%m | sed s/^0//
DIRECTORY=${CURR_YEAR}_$(($CURR_MONTH/4+1))
if test ! -d $BASEDIR/$DATADIR ; then
echo "Data directory $BASEDIR/$DATADIR does not exist." >&2
exit 1
fi
if test ! -d $BASEDIR/$ARCHIVEDIR ; then
echo "Archive directory $BASEDIR/$ARCHIVEDIR does not exist." >&2
exit 2
fi
if test -e $BASEDIR/$ARCHIVEDIR/$DIRECTORY ; then
echo "Destination directory $BASEDIR/$ARCHIVEDIR/$DIRECTORY already exists. Archive already happened?" >&2
exit 3
fi
echo "Creating directory ..."
mkdir -p $BASEDIR/$ARCHIVEDIR/$DIRECTORY
if ! test -d $BASEDIR/$ARCHIVEDIR/$DIRECTORY ; then
exit 4
fi
echo "Copying files ..."
cp -va $BASEDIR/$DATADIR/* $BASEDIR/$ARCHIVEDIR/$DIRECTORY
-----------------------------------------------------------------------------------
Grüße,
Christian