线上图片批量更换脚本记录

简介:

需求说明:
线上之前使用的图片没有经过处理,比较大。应产品同事要求,将图片拿出来处理后再替换之前的图片,图片名不变。

/tmp/image目录下存放的修改后的图片
[root@fangfull_web1 ~]# ls -l /tmp/image|head -10

1
2
3
4
5
6
7
8
9
10
total 66376
-rw-r--r-- 1 root root  114118 Jan 18 17:26 201407281934401406547280.jpg
-rw-r--r-- 1 root root  110450 Jan 18 17:26 201407281934511406547291.jpg
-rw-r--r-- 1 root root  156443 Jan 18 17:26 201407281937341406547454.jpg
-rw-r--r-- 1 root root   89006 Jan 18 17:26 201407281938241406547504.jpg
-rw-r--r-- 1 root root  136594 Jan 18 17:26 201407281938341406547514.jpg
-rw-r--r-- 1 root root   74327 Jan 18 17:26 201407281938551406547535.jpg
-rw-r--r-- 1 root root  114118 Jan 18 17:26 201407281940071406547607.jpg
-rw-r--r-- 1 root root  110450 Jan 18 17:26 201407281940161406547616.jpg
-rw-r--r-- 1 root root  105628 Jan 18 17:26 201407281940241406547624.jpg

线上图片存放的路径是/var/www/vhosts/www.fangfull.com/main/upload/,修改后的图片都有存放到这里
比如:注意find命令中的目标目录后面一定要加上/(比如下面的.../upload/,不能写成.../upload,否则查找不到)

1
2
3
4
[root@fangfull_web1 ~] #  find /var/www/vhosts/www.fangfull.com/main/upload/ -name 201407281934401406547280.jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281934401406547280 .jpg
[root@fangfull_web1 ~] #  find /var/www/vhosts/www.fangfull.com/main/upload -name 201407281934401406547280.jpg
[root@fangfull_web1 ~] #

那么修改后的图片批量替换之前的图片的脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
for  in  ` ls  -l  /tmp/image | awk  -F " "  '{print $9}' `
do
    for  in  ` cat  /tmp/b .txt`
    do
        for  in  ` ls  "$i" | awk  -F "/"  '{print $9}' `
        do
           if  [ $m == $n ]; then
              \ cp  -f  /tmp/image/ $m  ` cat  /tmp/b .txt| grep  "$m" `
           else
              echo  "123"  /dev/null  2>&1
           fi
        done
    done
done

脚本解刨如下:

[root@fangfull_web1 ~]# ls -l /tmp/image|awk -F" " '{print $9}'|head -10

1
2
3
4
5
6
7
8
9
201407281934401406547280.jpg
201407281934511406547291.jpg
201407281937341406547454.jpg
201407281938241406547504.jpg
201407281938341406547514.jpg
201407281938551406547535.jpg
201407281940071406547607.jpg
201407281940161406547616.jpg
201407281940241406547624.jpg

[root@fangfull_web1 ~]# for i in $(ls -l /tmp/image|awk -F" " '{print $9}');do echo `find /var/www/vhosts/www.fangfull.com/main/upload/ -name "$i"` >> /tmp/b.txt;done
[root@fangfull_web1 ~]# cat /tmp/b.txt |head -10

1
2
3
4
5
6
7
8
9
10
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281934401406547280 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281934511406547291 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281937341406547454 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281938241406547504 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281938341406547514 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281938551406547535 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281940071406547607 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281940161406547616 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281940241406547624 .jpg
/var/www/vhosts/www .fangfull.com /main/upload/20140813/201408131047131407898033 .jpg

[root@fangfull_web1 ~]# ls /var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281934401406547280.jpg |awk -F"/" '{print $9}'

1
201407281934401406547280.jpg

[root@fangfull_web1 ~]# cat /tmp/b.txt |grep 201407281934401406547280.jpg

1
/var/www/vhosts/www .fangfull.com /main/upload/20140728/201407281934401406547280 .jpg
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
分类:  Shell
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/6298022.html ,如需转载请自行联系原作者
相关文章
|
5月前
|
JavaScript 关系型数据库 MySQL
在线文档频繁故障不稳定,其实可以自己搭一个Etherpad在线文档
在线文档频繁故障不稳定,其实可以自己搭一个Etherpad在线文档
|
2月前
|
存储 运维 Serverless
函数计算产品使用问题之代码上传记录如何查看
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
5月前
|
运维 JavaScript Devops
云效产品使用报错问题之更新后,旧数据的完成时间导出来没有了如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
5月前
Dataphin功能Tips系列(5)-手工表上传及长期维护
有些业务数据是手工excel维护的,这时我们要如何将数据上传至dataphin并进行维护?
|
小程序
扫描普通二维码进入体验版小程序却一直进入线上版本?这个配置要注意!
开发小程序过程中,我们会遇到很多不同的场景,其中,扫描普通二维码进入小程序就是其中之一。
b站如何一次性把up主全部取消关注,让自己去学习
b站如何一次性把up主全部取消关注,让自己去学习
|
前端开发
案例04-生产环境App打包未关联云空间导致用户不能自动升级
案例04-生产环境App打包未关联云空间导致用户不能自动升级
案例04-生产环境App打包未关联云空间导致用户不能自动升级
批量采集淘宝商品上传到店铺,提示乱码,如何解决?
如果第一种和第二种情况都没有时,说明这是因为淘宝近期对这类宝贝变化了要求所引起的,当出现这样的情况时,只需要将问题反馈给大淘营客服,通过客服将问题反馈给大淘营技术部去分析解决,技术部分析解决后即可复制宝贝上传到店铺了。 附上一张大淘营客户对大淘营的评价截图:
批量采集淘宝商品上传到店铺,提示乱码,如何解决?
wordpress插件上传的失败原因和处理方案
wordpress插件上传的失败原因和处理方案
245 0
wordpress插件上传的失败原因和处理方案
|
Oracle 关系型数据库 Shell
[自制工具]批量后台更新统计信息
Oracle数据库有时需要批量收集数据库的统计信息,如在大量数据迁移或大量数据更新以后,但是收集的时间可能会较长,为了避免网络中断等意外情况可能引起的麻烦,今天调试了这个小脚本,可以分用户批量执行,同时记录执行时间等日志信息,比较实用。
209 0
下一篇
无影云桌面