Seperti yang ditunjukkan Bichoy, Anda dapat menggunakan findperintah untuk menemukan file dengan akses, waktu pembuatan, dan modifikasi tertentu. Namun - waktu mengambil offset dalam kenaikan 24 jam dan tidak selalu nyaman untuk dihitung kecuali jika Anda menginginkan sesuatu dari jumlah tertentu jumlah 'hari' yang lalu. Anda harus menggabungkannya dengan -daystartuntuk 'memutari' itu ke awal hari.
Saya pikir lebih nyaman dalam kasus Anda, adalah opsi -newermt yang mengambil datestring (dan bukan nama file referensi seperti kebanyakan versi -newerXY)
Menggabungkan dengan find's -print0pilihan untuk file handle dengan spasi dalam nama dan opsional -type funtuk tidak mendapatkan direktori pada periode Anda tertarik:
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
Ada satu masalah besar dengan itu: jika jumlah file yang ditemukan menjadi panjang, xargsakan memanggil perintahnya (dalam hal ini tar) beberapa kali karena xargsharus sesuai dengan argumen pada commandline yang tidak terbatas. Untuk menghindari itu saya selalu menggunakan cpio, yang bertuliskan nama file dari stdin. Dengan --format=ustarparameter untuk mendapatkan file tar POSIX, dan dalam kasus Anda, Anda perlu menyalurkan output gzipuntuk mendapatkan hasil yang diinginkan:
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