Как отметил Бичой, вы можете использовать findкоманду для поиска файлов с определенным временем доступа, создания и изменения. Однако -mtime принимает смещение с шагом 24 часа и не всегда удобно вычислять, если вы не хотите что-то из определенного количества чисел «дней» назад. Вам нужно будет объединить это с -daystart«округлить» это к началу дня.
Я думаю, что более удобным в вашем случае является параметр -newermt, который принимает строку даты (а не имя справочного файла, как в большинстве версий -newerXY)
Объедините это с опцией find's -print0для обработки файлов с пробелами в имени и, по желанию, -type fчтобы не получать никаких каталогов за интересующий вас период:
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
С этим связана одна большая проблема: в случае, если количество найденных файлов становится длинным, она xargsбудет вызывать свою команду (в данном случае tar) несколько раз, так как она xargsдолжна соответствовать аргументам командной строки, которая не является бесконечной. Чтобы обойти это, я всегда использую cpio, который читает имена файлов из стандартного ввода. С --format=ustarпараметром для получения tar-файла POSIX, и в вашем случае вам понадобится передать вывод, gzipчтобы получить желаемый результат:
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