不管别人说俺多么爱造轮子,俺就是这样的人,用自己的方法,写出自己喜欢的程序。。
这个脚本是导出拓扑结构的,data/dev下面是群组目录,群组下是设备列表和群组名称,设备目录下是每个设备的信息。
import_dev.sh
- TDIR="data/dev"
- mkdir -pv "$TDIR" >/dev/null 2>&1
- tfile="data/dfile.txt"
- unlink "$tfile" >/dev/null 2>&1
- touch "$tfile" >/dev/null 2>&1
- mysql -uroot -pxxx cmdb -e "select Id, name from t_group where valid=1" | awk '{if(NR>1)print$0}' | while read Id name
- do
- mkdir -pv "$TDIR/$Id" >/dev/null 2>&1
- mkdir -pv "$TDIR/$Id/devlist" >/dev/null 2>&1
- echo "$Id" >> "$tfile"
- echo "$name" > "$TDIR/$Id/name"
- done
- cat "$tfile" | while read grpid
- do
- mysql -uroot -pxxx cmdb -e "select f_dev_id, dev_name, dev_ip from t_dev_grp,t_dev where f_grp_id = $grpid and t_dev_grp.valid = 1 and t_dev_grp.f_dev_id = t_dev.Id and t_dev.valid=1" | awk '{if(NR>1)print$0}' | while read ID NAME IP
- do
- mkdir -pv "$TDIR/$grpid/devlist/$ID" >/dev/null 2>&1
- echo "$IP" > "$TDIR/$grpid/devlist/$ID/ip"
- echo "$NAME" > "$TDIR/$grpid/devlist/$ID/name"
- done
- done
- unlink "$tfile" >/dev/null 2>&1
执行完通过tree看一下效果:
- tree data/dev/
- data/dev/
- |-- 3
- | |-- devlist
- | | |-- 1
- | | | |-- ip
- | | | `-- name
- | | `-- 4
- | | |-- ip
- | | `-- name
- | `-- name
- |-- 4
- | |-- devlist
- | | |-- 2
- | | | |-- ip
- | | | `-- name
- | | `-- 5
- | | |-- ip
- | | `-- name
- | `-- name
- `-- 5
- |-- devlist
- | |-- 3
- | | |-- ip
- | | `-- name
- | `-- 6
- | |-- ip
- | `-- name
- `-- name
- 12 directories, 15 files
阅读(4762) | 评论(0) | 转发(0) |