mysql数据库设计了如下结构
策略
事务:由多个策略组成
应用:一个事务作用于若干个群组上
特意写了几个脚本,希望能把库中的信息导出成文件系统的格式。
第一个脚本,导出策略的
import_policy.sh
- num=1
- mkdir -pv data/policy >/dev/null 2>&1
- PD="data/policy"
- mysql -uroot -pxxxx cmdb -e "select t_policy.Id, t_policy.name, t_policy.version, t_policy.type, t_policy.savepath, t_configfile.dstpath,t_configfile.owner, t_configfile.md, t_configfile.grp, t_configfile.md5val from t_policy,t_configfile where t_policy.valid = 1 and t_policy.Id = t_configfile.f_polid order by t_policy.Id asc" | awk '{if(NR>1)print $0}' | awk '{if(NF==10)print$0}' | while read ID NAME VER TYPE STORE DST OWNER MOD GRP MD5
- do
- aa=`md5sum $STORE | awk '{print$1}'`
- if [ "$aa" != "$MD5" ]
- then
- echo "md5 for pol 'name=$NAME,id=$ID' file '$STORE' is changed" >> error.log
- continue
- fi
- mkdir -pv "$PD/$ID" >/dev/null 2>&1
- echo "$ID" > "$PD/$ID/id"
- echo "$NAME">"$PD/$ID/name"
- echo "$VER">"$PD/$ID/version"
- echo "$TYPE">"$PD/$ID/type"
- echo "$STORE">"$PD/$ID/source"
- echo "$DST">"$PD/$ID/dest"
- echo "$OWNER">"$PD/$ID/owner"
- echo "$MOD">"$PD/$ID/mode"
- echo "$GRP">"$PD/$ID/group"
- echo "$MD5">"$PD/$ID/md5"
- num=`expr $num + 1`
- done
用tree察看得到如下结果:
- tree data/policy/
- data/policy/
- |-- 75
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 76
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 77
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 78
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 79
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 80
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 81
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 82
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- |-- 83
- | |-- dest
- | |-- group
- | |-- id
- | |-- md5
- | |-- mode
- | |-- name
- | |-- owner
- | |-- source
- | |-- type
- | `-- version
- `-- 84
- |-- dest
- |-- group
- |-- id
- |-- md5
- |-- mode
- |-- name
- |-- owner
- |-- source
- |-- type
- `-- version
- 10 directories, 100 files