#!/bin/bash VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh synopsis() { cat << EOF Usage : `basename $0` [-h] EOF } help() { cat << EOF `basename $0` reconstruit la base de données de l'allocateur de ressources. `synopsis` A faire à chaque changement de la liste des utilisateurs, ou chaque ajout/suppression d'un réseau ou d'un hôte dans un réseau. EOF } usage() { synopsis exit 1 } args() { local opt while getopts "hqs" opt; do case $opt in h) help; exit 0;; ?) usage;; esac done } # main args "$@" dir=$VDN_PATH/allocators/db-$VDN_RESOURCES_ALLOCATOR [ ! -d $dir ] && mkdir -p $dir ls $(dirname $HOME) > $dir/users ( cd $VDN_NETWORKS_BASE_DIR; find . -maxdepth 1 -type d | grep -v '^\.$' | cut -d '/' -f 2 | grep -v '\/') > $dir/networks rm -f $dir/hosts.global for i in $(cat $dir/networks) ; do for j in $(cd $VDN_NETWORKS_BASE_DIR/$i; find . -maxdepth 1 -type f -name '*.conf' | sed -re 's/^..(.*).conf$/\1/' ); do egrep -q '^NETWORKS=.*(NET_G|NET_0)' $VDN_NETWORKS_BASE_DIR/$i/$j.conf && echo $i:$j >> $dir/hosts.global echo $i:$j done done > $dir/hosts