Akan menambahkan komentar ke postingan @Steve Kehlet tetapi membutuhkan 50 rep (RIP).
Bagi siapa pun yang telah menemukan posting ini melalui banyak googling, saya menemukan cara untuk tidak hanya menemukan file tertentu yang diberikan rentang waktu, tetapi juga TIDAK menyertakan jalur relatif ATAU spasi yang akan menyebabkan kesalahan tarring. (TERIMA KASIH BANYAK STEVE.)
find . -name "*.pdf" -type f -mtime 0 -printf "%f\0" | tar -czvf /dir/zip.tar.gz --null -T -
.
direktori relatif
-name "*.pdf"
cari pdf (atau jenis file apa pun)
-type f
jenis yang dicari adalah file
-mtime 0
cari file yang dibuat dalam 24 jam terakhir
-printf "%f\0"
Biasa -print0
ATAU -printf "%f"
TIDAK berhasil untuk saya. Dari halaman manual:
Kutipan ini dilakukan dengan cara yang sama seperti untuk GNU ls. Ini bukan mekanisme kutipan yang sama seperti yang digunakan untuk -ls dan -fls. Jika Anda dapat memutuskan format apa yang akan digunakan untuk keluaran find maka biasanya lebih baik menggunakan '\ 0' sebagai terminator daripada menggunakan baris baru, karena nama file dapat berisi spasi dan karakter baris baru.
-czvf
buat arsip, filter arsip melalui gzip, daftar file yang diproses secara verbal, nama arsip
Sunting 2019-08-14: Saya ingin menambahkan, bahwa saya juga dapat menggunakan pada dasarnya menggunakan perintah yang sama di komentar saya, hanya menggunakan tar itu sendiri:
tar -czvf /archiveDir/test.tar.gz --newer-mtime=0 --ignore-failed-read *.pdf
Diperlukan --ignore-failed-read
jika tidak ada PDF baru untuk hari ini.
find ... | xargs ...
adalah dengan menggunakan -print0 / -0 parameter pada setiap:find -print0 ... | xargs -0 ...
. Ini akan menyebabkan nama file dipisahkan oleh karakter null, yang berarti Anda dapat memiliki spasi atau baris baru atau hal aneh lainnya di nama file Anda dan itu akan tetap berfungsi.