0

我目前正在通过 cron 运行以下 jpegoptim 命令,以让 jpegoptim 查找要压缩的 jpg 文件。

查找 /home/public_html/public/uploads -name '*.jpg' -type f -print0 | xargs -0 jpegoptim -o -p --size=300k --strip-all

这行得通,但有没有办法包含 .jpeg、.JPG 和 .JPEG 而不必多次运行相同的命令?此外,是否可以每小时运行一次,或者这会继续压缩相同的文件最终降低质量?

4

1 回答 1

0

您可以使用两个不区分大小写的名称匹配来匹配所有 , *.jpg, *.JPG, *.jpeg*.JPEG

find /home/public_html/public/uploads \
    '(' -iname '*.jpg' -o -iname '*.jpeg' ')' -type f -print0 \
| xargs -0 jpegoptim -o -p --size=300k --strip-all

您可以保留单独的时间戳以避免重新处理相同的文件,例如

find /home/public_html/public/uploads \
    -newer .STAMP '(' -iname '*.jpg' -o -iname '*.jpeg' ')' -type f -print0 \
| xargs -0 jpegoptim -o -p --size=300k --strip-all
touch .STAMP
于 2017-11-03T22:25:37.480 回答