我目前正在通过cron运行以下jpegoptim命令让jpegoptim查找要压缩的jpg文件。
find / home / public_html / public / uploads -name'* .jpg'-type f -print0 | xargs -0 jpegoptim -o -p --size = 300k --strip-all
这样可行,但是有没有办法包含.jpeg,.JPG和.JPEG而不必多次运行相同的命令?此外,是否可以每小时运行一次,或者这会不断压缩相同的文件,最终降低质量?
答案 0 :(得分: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