从...开始查找并 rsync?和如何从特定日期开始 rsync 文件/文件夹?,如何 rsync相片从特定日期开始,即从拍摄照片之日起(即从照片的元数据,即EXIF,例如 exif:DateTime,这可能与文件的“上次修改日期”不同)?
一个想法是利用identify -verbose IMG_20200430_113445.jpg | grep -i date
和exif:DateTime
在内,另一个想法是使用exiftool
(https://stackoverflow.com/questions/48582185/only-get-datetimeoriginal-with-exiftool) 即可。也许这个和上面引用的两个问答中的元素会起作用?
也就是说,结合上面引用的两个问答中的想法(也许还有这个) 有了这个
identify -verbose IMG_20200430_113445.jpg | grep -i date
,返回exif:DateTime
或这个
exiftool -DateTimeOriginal IMG_20200430_113445.jpg
可能是“唯一”的方式……
也可以看看:
答案1
这是我用来将 2022 年的文件复制到照片子目录的命令。iPhone 安装在 /mnt/iPhone 上,文件位于 /DCIM/103APPLE 目标位置是我的照片,每年都有不同的文件夹。
find /mnt/iPhone/DCIM/103APPLE -name "*.*" -newermt "2022-01-01" ! -newermt "2023-01-01" -print0 | rsync -aruvlP /mnt/iPhone/DCIM/103APPLE/ /mnt/data/Pictures/All2022/Fred/103APPLE
我通常不使用第二个日期作为年初至今。
find /mnt/iPhone/DCIM/103APPLE -name "*.*" -newermt "2023-01-01 00:00:00" -print0 | rsync -aruvlP /mnt/iPhone/DCIM/103APPLE/ /mnt/data/Pictures/All2023/Fred/103APPLE
答案2
备份特定日期后拍摄的照片 (*.jpg)
筛选
要初步了解符合筛选的标准
exiftool -progress -if '$DateTimeOriginal ge "2012:01:01"' -p '$FileName' *.jpg
试运行
接下来,可以做一个“试运行“, 看什么会在下一步中复制,使用
rsync -n -aPh --ignore-existing --stats --info=progress2 --files-from=<(exiftool -if '$DateTimeOriginal ge "2015:01:01"' -p '$FileName' *.jpg) /source/ /dest/
同步
最后,可以执行实际的“复制“操作,通过删除-n
上面的行,如下所示:
rsync -aPh --ignore-existing --stats --info=progress2 --files-from=<(exiftool -if '$DateTimeOriginal ge "2015:01:01"' -p '$FileName' *.jpg) /source/ /dest/
相关链接: