source: trunk/IPs/systemC/processor/Morpheo/Script/distexe_env.sh @ 139

Last change on this file since 139 was 139, checked in by rosiere, 14 years ago
  • Add test for all configuration
  • RAT : add rat scheme (depth_save)
  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 5.7 KB
Line 
1#!/bin/bash
2
3declare distexe_env_is_subshell;
4declare distexe_env_file="${HOME}/.distexe_env";
5
6#-----[ distexe_env_usage ]---------------------------------
7function distexe_env_usage()
8{
9    echo "${0} option";
10    echo "  -h : print this message";
11    echo "  -d : load default DISTEXE_HOSTS";
12    echo "  -t : from DISTEXE_HOSTS, test hosts";
13    echo "  -s : save DISTEXE_HOSTS in file ${distexe_env_file} (if -t, save after test host)";
14    echo "  -l : load file ${distexe_env_file} and set DISTEXE_HOSTS";
15    echo "";
16    echo " 2 methode to set DISTEXE_HOSTS : ";
17    echo "   * 1) \". $0\"";
18    echo "   * 2) DISTEXE_HOSTS=\$($0);";
19
20#    exit 1;
21}
22
23#-----[ distexe_env_default ]-------------------------------
24function distexe_env_default ()
25{
26    export DISTEXE_HOSTS="";
27    export DISTEXE_HOSTS="${DISTEXE_HOSTS} bip/4"      ; # serveur recherche
28    export DISTEXE_HOSTS="${DISTEXE_HOSTS} bop/4"      ; # serveur recherche
29    export DISTEXE_HOSTS="${DISTEXE_HOSTS} houla/8"    ; # serveur recherche
30    export DISTEXE_HOSTS="${DISTEXE_HOSTS} hop/8"      ; # serveur recherche
31    export DISTEXE_HOSTS="${DISTEXE_HOSTS} fox/2"      ; # serveur recherche
32    export DISTEXE_HOSTS="${DISTEXE_HOSTS} trot/2"     ; # serveur recherche
33   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} polka/1"    ; # serveur recherche    - réservé 
34   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} debussy/1"  ; # serveur enseignement           
35    export DISTEXE_HOSTS="${DISTEXE_HOSTS} do/2"       ; # serveur recherche               
36    export DISTEXE_HOSTS="${DISTEXE_HOSTS} re/2"       ; # serveur recherche               
37    export DISTEXE_HOSTS="${DISTEXE_HOSTS} mi/2"       ; # serveur recherche               
38    export DISTEXE_HOSTS="${DISTEXE_HOSTS} fa/2"       ; # serveur recherche               
39   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} berlioz/1"  ; # serveur enseignement - g++ 3.4.6
40    export DISTEXE_HOSTS="${DISTEXE_HOSTS} roll/1"     ; # serveur recherche               
41   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} rock/1"     ; # serveur recherche    - g++ 3.4.6
42    export DISTEXE_HOSTS="${DISTEXE_HOSTS} waller/1"   ; # desktop
43    export DISTEXE_HOSTS="${DISTEXE_HOSTS} lin/1"      ; # desktop
44    export DISTEXE_HOSTS="${DISTEXE_HOSTS} eric/1"     ; # desktop
45    export DISTEXE_HOSTS="${DISTEXE_HOSTS} amouri/1"   ; # desktop
46   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} cherry/1"   ; # desktop
47    export DISTEXE_HOSTS="${DISTEXE_HOSTS} gamoudi/1"  ; # desktop
48   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} grunge/1"   ; # desktop
49   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} mitra/1"    ; # desktop
50   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} pronky/1"   ; # desktop
51   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} babylone/1" ; # desktop 
52
53    if test ${1} -eq 1; then
54        echo "${DISTEXE_HOSTS}";
55    fi;
56}
57
58#-----[ distexe_env_load ]----------------------------------
59function distexe_env_load ()
60{
61    if test -f ${distexe_env_file}; then
62        DISTEXE_HOSTS=$(cat ${distexe_env_file});
63    fi;
64}
65
66#-----[ distexe_env_save ]----------------------------------
67function distexe_env_save ()
68{
69    echo ${DISTEXE_HOSTS} > ${distexe_env_file};
70}
71
72#-----[ distexe_env_test ]----------------------------------
73function distexe_env_test ()
74{
75    local hosts="${DISTEXE_HOSTS}";
76
77    # re init DISTEXE_HOSTS
78
79    export DISTEXE_HOSTS="";
80    for line in ${hosts}; do
81        host=$(echo ${line} | cut -d/ -f1);
82
83        if test ${1} -eq 0; then
84            echo -n " * station : ${host} ... ";
85        fi;
86       
87        # ping host ...
88        ping -w 1 ${host} &> /dev/null;
89
90        if test "$?" -eq "0"; then
91            # ... if ok, reinsert
92            if test ${1} -eq 0; then
93                echo "online";
94            fi;
95            export DISTEXE_HOSTS="${DISTEXE_HOSTS} ${line}";
96        else
97            if test ${1} -eq 0; then
98                echo "offline";
99            fi;
100        fi;
101    done;
102
103    if test ${1} -eq 1; then
104        echo "${DISTEXE_HOSTS}";
105    fi;
106}
107
108#-----[ distexe_env ]---------------------------------------
109function distexe_env ()
110{
111    if test "${0}" = "$(basename ${SHELL})"; then
112        distexe_env_is_subshell=0;
113    else
114        distexe_env_is_subshell=1;
115    fi;
116   
117    local exec_distexe_env_default=0;
118    local exec_distexe_env_test=0;
119    local exec_distexe_env_save=0;
120    local exec_distexe_env_load=0;
121    local exec_distexe_env_usage=0;
122    local no_option=1;
123   
124    set -- $(getopt :sldth "$@")
125    for arg
126    do  case "$arg" in
127            -d) exec_distexe_env_default=1; no_option=0; ;;
128            -t) exec_distexe_env_test=1;    no_option=0; ;;
129            -s) exec_distexe_env_save=1;    no_option=0; ;;
130            -l) exec_distexe_env_load=1;    no_option=0; ;;
131            -h) exec_distexe_env_usage=1;   break; ;;
132            --) if test $no_option -eq 1; then
133                    exec_distexe_env_usage=1;
134                fi;
135                break;;
136        esac
137    done
138
139
140    if test $exec_distexe_env_usage -eq 1; then
141        distexe_env_usage ${*};
142       
143        if test ${distexe_env_is_subshell} -eq 1; then
144            exit 1;
145        fi;
146    else
147        if test $exec_distexe_env_default -eq 1; then
148            if test $exec_distexe_env_test    -eq 1; then
149                distexe_env_default 0;
150            else
151                distexe_env_default ${distexe_env_is_subshell};
152            fi;
153        fi;
154        if test $exec_distexe_env_load    -eq 1; then
155            distexe_env_load;
156        fi;
157        if test $exec_distexe_env_test    -eq 1; then
158            distexe_env_test ${distexe_env_is_subshell};
159        fi;
160        if test $exec_distexe_env_save   -eq 1; then
161            distexe_env_save;
162        fi;
163    fi;
164   
165    unset distexe_env_file;
166    unset distexe_env_is_subshell;
167}
168
169#-----[ Corps ]---------------------------------------------
170distexe_env ${*};
Note: See TracBrowser for help on using the repository browser.