Bichoyが示したように、このfindコマンドを使用して、特定のアクセス権を持つファイルを検索し、作成および変更時間を指定できます。ただし、-mtimeは24時間単位でオフセットを取得し、特定の「日」前の数から何かが必要な場合を除いて、計算に常に便利であるとは限りません。-daystartそれを1日の初めに「丸める」と組み合わせる必要があります。
私はあなたの場合より便利だと思います-datestringをとる-newermtオプションです(そして、ほとんどの-newerXYバージョンのような参照ファイルの名前ではありません)
名前にスペースが含まれるファイルを処理し、オプションで、関心のある期間にディレクトリを取得しないようにするには、それをfindの-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
これには大きな問題が1つあります。見つかったファイルの数が長くなると、無限ではないコマンドラインの引数に合わせる必要xargsがあるため、コマンド(この場合はtar)が複数回呼び出されxargsます。cpiostdinからファイル名を読み取るを常に使用することを回避します。では--format=ustar、パラメータPOSIX tarファイルを取得し、そしてを通して、あなたの場合には、あなたは、パイプへの出力が必要になり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