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察看得到如下结果:
阅读(3440) | 评论(0) | 转发(1) |