问题背景
使用自动安装框架进行业务安装,调用SHELL脚本来修改权限等操作,包括修改server.xml配置等信息,某天两个安装任务一起运行时,发现密码字段为空,单独运行命令或单个安装任务则不会出现问题。
问题原因
SHELL代码出问题段代码类似如下逻辑:
passwd="" passwd=`encrypt xxx` modXmlPasswd $passwd
在第一个任务跑完第二行时,第二个任务运行到了第一行,于是修改xml中密码字段时用了空字符串,就出现问题描述的情况了。
问题解决
当然是分发包之后的安装过程中一个任务一个任务运行了,后续为了省时间,也只能在第一个任务开始运行之后,第二个任务先上传安装包以节省时间。
从前没关注过shell脚本还能有并发问题,也是一次有趣的体验。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。