全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 714|回复: 12

请教下脚本大佬

[复制链接]
发表于 2020-5-26 10:08:33 | 显示全部楼层 |阅读模式
本帖最后由 mushan099 于 2020-5-26 10:10 编辑

家里整了台母鸡,在服务器上搭了kvm,装了一台模板机,用virsh define 命令来批量创建
xml文件要手动一个个去改uuid name mac 磁盘路径,求个sh脚本可以自动替换的 ,送gcp香港台湾机器

  1. test1.xml
  2. <name>test1</name>
  3. <uuid>9da1d06d-cc17-4a40-b36b-31dac8aac7c3</uuid>
  4. <source file='/var/lib/libvirt/images/test1.qcow2'/>
  5. <source dev='/dev/sdb1'/>
  6. <mac address='52:54:00:0d:90:d2'/>
复制代码


上面是一个文件,有类似这样的test2 test3 test410来个
例如
  1. test2.xml
  2. <name>test2</name>
  3. <uuid>9da1d06d-cc17-4a40-b36b-31dac8aac7c3</uuid>  # 格式固定字符随机
  4. <source file='/var/lib/libvirt/images/test2.qcow2'/>
  5. <source dev='/dev/sdb2'/>
  6. <mac address='52:54:00:0d:90:d2'/>  #格式固定字符随机
复制代码
发表于 2020-5-26 10:13:15 来自手机 | 显示全部楼层
这些uuid name mac ,你都可以提供吗?
发表于 2020-5-26 10:14:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2020-5-26 10:17:14 | 显示全部楼层
van 发表于 2020-5-26 10:13
这些uuid name mac ,你都可以提供吗?


uuid 其实我研究出来了,随便填只要格式对就可以的
  1. sed -i "s/<uuid>.*</<uuid>$(uuidgen)</g" /root/bak/test6.xml
复制代码
主要是mac那个搞不定
想着大佬可能有更牛逼的方法,我就全抛上来了嘿嘿
mac也是随机生成就行,其他的那些按顺序 嘿嘿嘿
 楼主| 发表于 2020-5-26 10:18:24 | 显示全部楼层
h20 发表于 2020-5-26 10:14
这个用sed就搞定了,什么uuid的linux都有现成的

大佬是的,就是用sed,只是初学linux脚本写的一塌糊涂
发表于 2020-5-26 10:19:43 | 显示全部楼层
本帖最后由 marile 于 2020-5-26 10:27 编辑

https://help.ubuntu.com/community/KVM/Managing
里面提到了:
To get a new mac address to paste into your xml file, use this command:

MACADDR="52:54:$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/')"; echo $MACADDR

To get a new uuid for your xml file, use: uuidgen

https://superuser.com/questions/218340/how-to-generate-a-valid-random-mac-address-with-bash-shell
这里有一些别的办法

点评

蟹蟹  发表于 2020-5-26 10:26
发表于 2020-5-26 10:21:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2020-5-26 10:22:56 | 显示全部楼层
h20 发表于 2020-5-26 10:21
你这就是思维江化

你为什么不用个占位符先写好一个模板文件,然后替换这个占位符就好了,还去整什么正则 ...

哎好像是这个道理。。重点不是匹配啊大佬,重点是替换
发表于 2020-5-26 10:26:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2020-5-26 10:59:27 | 显示全部楼层
用grep去查所在行,得到整行,然后替换这一行就可以了。

请参考:https://www.myzhenai.com.cn/post/3066.html

点评

谢大佬指教  发表于 2020-5-26 11:31
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-19 18:52 , Processed in 0.065631 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表