Wie von Bichoy angegeben, können Sie mit dem findBefehl Dateien mit einer bestimmten Zugriffs-, Erstellungs- und Änderungszeit suchen. -Mtime nimmt jedoch einen Versatz in Schritten von 24 Stunden vor und ist nicht immer bequem zu berechnen, es sei denn, Sie möchten etwas von einer bestimmten Anzahl von 'Tagen' vor. Sie müssen dies kombinieren, -daystartum dies auf den Anfang des Tages abzurunden.
Ich denke, in Ihrem Fall ist die Option -newermt praktischer, die einen Datenstring verwendet (und nicht den Namen einer Referenzdatei wie die meisten -newerXY-Versionen).
Kombinieren Sie dies mit findder -print0Option, Dateien mit Leerzeichen im Namen zu verarbeiten und optional -type fkeine Verzeichnisse in dem Zeitraum abzurufen, an dem Sie interessiert sind:
find /var/lib/edumate/backup/archive_logs/db2inst1/SAAS \
-newermt 20130310 -not -newermt 20130314 -type f -print0 \
| xargs -0 tar -cvzf /tmp/saas_archive_logs.tar.gz
Dabei gibt es ein großes Problem: Wenn die Anzahl der gefundenen Dateien zu lang wird, xargswird der Befehl (in diesem Fall tar) mehrmals xargsaufgerufen, um die Argumente in der Befehlszeile anzupassen, die nicht unendlich sind. Um das zu umgehen, benutze ich immer das cpio, das Dateinamen von stdin liest. Mit dem --format=ustarParameter zum Abrufen einer POSIX-TAR-Datei und in Ihrem Fall müssten Sie die Ausgabe durchleiten gzip, um das gewünschte Ergebnis zu erzielen:
find /var/lib/edumate/backup/archive_logs/db2inst1/SAAS \
-newermt 20130310 -not -newermt 20130314 -type f -print0 \
| cpio --create --null --format=ustar \
| gzip > /tmp/saas_archive_logs.tar.gz