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
ます。cpio
stdinからファイル名を読み取るを常に使用することを回避します。では--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