我正在努力迁移一个大型WordPress网站迁移,只想迁移原始图像。我不想复制WordPress创建的图像。使用rsync,我在文档中看不到一种方法来解释图像大小的多种变化并排除它们。我想出的最好的方法就是为每个可能的图像大小场景创建一个规则。这是我要得到的最好的,还是有办法把它弄干?
例如:
rsync -avPzn -e ssh webhost:/site/www.domain.com/images .
--exclude=**\-[0-9][0-9]x[0-9][0-9].jpg
--exclude=**\-[0-9][0-9][0-9]x[0-9][0-9].jpg
--exclude=**\-[0-9][0-9]x[0-9][0-9][0-9].jpg
--exclude=**\-[0-9][0-9]x[0-9][0-9].png
--exclude=**\-[0-9][0-9][0-9]x[0-9][0-9].png
--exclude=**\-[0-9][0-9]x[0-9][0-9][0-9].png
...名为image.jpg的图像将有多个副本,名为image-100x100.jpg等。
发布于 2020-01-30 19:56:36
相反,您可以将要复制的文件列表导入rsync,并使用另一种方法排除不需要的图像名称。这可以像使用带有正则表达式排除的find一样简单,例如:
ssh webhost find /site/www.domain.com/images \
! -regex '.*[0-9]+x[0-9]+\.\(png\|jpg\)' | \
rsync -avPzn --files-from=- webhost:/ .注意,regex有一个隐含的^和$,默认使用emacs语法。您可能更喜欢posix版本:
-regextype posix-extended -regex '.*[0-9]+x[0-9]+\.(png|jpg)'如果您的find命令没有这些选项,则可以使用sed或类似的方法筛选出文件名。因为查找会生成完整的路径名,所以您需要获得rsync来使用/作为基础。
https://serverfault.com/questions/1001115
复制相似问题