1 |
#!/bin/csh -f |
2 |
# script to generate NetDRMS initialization task script |
3 |
|
4 |
set LOCALINF = ./config.local |
5 |
if (!(-e $LOCALINF)) then |
6 |
set WWW = http://jsoc.stanford.edu/netdrms |
7 |
echo "Error: local configuration file $LOCALINF not found" |
8 |
echo "You may create one from the template at:" |
9 |
echo " $WWW/setup.html" |
10 |
exit |
11 |
endif |
12 |
|
13 |
# parse the local config file |
14 |
|
15 |
set LOCAL_CONFIG_SET = `egrep "^LOCAL_CONFIG_SET" $LOCALINF | awk '{print $2}'` |
16 |
set POSTGRES_ADMIN = `egrep "^POSTGRES_ADMIN" $LOCALINF | awk '{print $2}'` |
17 |
set POSTGRES_LIBS = `egrep "^POSTGRES_LIBS" $LOCALINF | awk '{print $2}'` |
18 |
set POSTGRES_INCS = `egrep "^POSTGRES_INCS" $LOCALINF | awk '{print $2}'` |
19 |
set DBSERVER_HOST = `egrep "^DBSERVER_HOST" $LOCALINF | awk '{print $2}'` |
20 |
set DRMS_DATABASE = `egrep "^DRMS_DATABASE" $LOCALINF | awk '{print $2}'` |
21 |
set DRMS_SITE_CODE = `egrep "^DRMS_SITE_CODE" $LOCALINF | awk '{print $2}'` |
22 |
set DRMS_SAMPLE_NAMESPACE = `egrep "^DRMS_SAMPLE_NAMESPACE" $LOCALINF | awk '{print $2}'` |
23 |
set SUMS_SERVER_HOST = `egrep "^SUMS_SERVER_HOST" $LOCALINF | awk '{print $2}'` |
24 |
set SUMS_LOG_BASEDIR = `egrep "^SUMS_LOG_BASEDIR" $LOCALINF | awk '{print $2}'` |
25 |
set SUMS_MANAGER = `egrep "^SUMS_MANAGER" $LOCALINF | awk '{print $2}'` |
26 |
set SUMS_TAPE_AVAILABLE = `egrep "^SUMS_TAPE_AVAILABLE" $LOCALINF | awk '{print $2}'` |
27 |
set THIRD_PARTY_LIBS = `egrep "^THIRD_PARTY_LIBS" $LOCALINF | awk '{print $2}'` |
28 |
set THIRD_PARTY_INCS = `egrep "^THIRD_PARTY_INCS" $LOCALINF | awk '{print $2}'` |
29 |
|
30 |
# check that local config file has been edited appropriately |
31 |
if ($#LOCAL_CONFIG_SET == 1) then |
32 |
if ($LOCAL_CONFIG_SET =~ "NO") then |
33 |
echo "Error: local configuration file $LOCALINF must be edited" |
34 |
echo " After editing the file appropriately, rerun this script ($0)" |
35 |
exit |
36 |
endif |
37 |
endif |
38 |
|
39 |
if ($#SUMS_LOG_BASEDIR != 1) then |
40 |
echo "Error: $SUMS_LOG_BASEDIR undefined in local configuration file $LOCALINF" |
41 |
exit |
42 |
endif |
43 |
if ($#SUMS_MANAGER != 1) then |
44 |
echo "Error: SUMS_MANAGER undefined in local configuration file $LOCALINF" |
45 |
exit |
46 |
endif |
47 |
|
48 |
set SUMRM_CONFIG = $SUMS_LOG_BASEDIR/sum_rm.cfg |
49 |
if (-e $SUMRM_CONFIG) then |
50 |
echo "A sum_rm.cf configuration file already exists in $SUMS_LOG_BASEDIR" |
51 |
echo " Edit it at any time to modify the configuration" |
52 |
exit |
53 |
endif |
54 |
|
55 |
cat /dev/null > $SUMRM_CONFIG |
56 |
if ($status) then |
57 |
echo "Error: either the directory $SUMS_LOG_BASEDIR does not exist, or" |
58 |
echo " you do not have write permission in it; the directory should be" |
59 |
echo " created or made writeable, and this script run by user $SUMS_MANAGER" |
60 |
exit |
61 |
endif |
62 |
|
63 |
echo "# configuration file for sum_rm program" >> $SUMRM_CONFIG |
64 |
echo "#" >> $SUMRM_CONFIG |
65 |
echo "# You may edit this file any time, it is read each time sum_rm is run," >> $SUMRM_CONFIG |
66 |
echo "# which will occur at the intervals specified by the SLEEP parameter" >> $SUMRM_CONFIG |
67 |
echo "#" >> $SUMRM_CONFIG |
68 |
echo "# when sum_rm finishes, sleep for n seconds before re-running" >> $SUMRM_CONFIG |
69 |
echo "SLEEP=3600" >> $SUMRM_CONFIG |
70 |
echo "# delete until this many Megabytes are free on the specified SUMS disk" >> $SUMRM_CONFIG |
71 |
echo "# partitions (one entry, numbered 0-n, for each partition" >> $SUMRM_CONFIG |
72 |
echo "MAX_FREE_0=100000" >> $SUMRM_CONFIG |
73 |
echo "# name of the log file (opened at startup; date and pid are appended to this" >> $SUMRM_CONFIG |
74 |
echo "# name); do not change the directory without changing SUMS_LOG_BASEDIR in" >> $SUMRM_CONFIG |
75 |
echo "# the config.local and rebuilding sums" >> $SUMRM_CONFIG |
76 |
echo "LOG=$SUMS_LOG_BASEDIR/sum_rm.log" >> $SUMRM_CONFIG |
77 |
echo "# whom to bother when there's a notable problem" >> $SUMRM_CONFIG |
78 |
echo "MAIL=$SUMS_MANAGER" >> $SUMRM_CONFIG |
79 |
echo "# to prevent sum_rm from doing anything set non-zero (for testing)" >> $SUMRM_CONFIG |
80 |
echo "NOOP=0" >> $SUMRM_CONFIG |
81 |
echo "# sum_rm can only be enabled for a single user" >> $SUMRM_CONFIG |
82 |
echo "USER=$SUMS_MANAGER" >> $SUMRM_CONFIG |
83 |
echo "# dont run sum_rm between these NORUN hours of the day (0-23)" >> $SUMRM_CONFIG |
84 |
echo "# comment out to ignore or set them both to the same hour" >> $SUMRM_CONFIG |
85 |
echo "# The NORUN_STOP must be >= NORUN_START" >> $SUMRM_CONFIG |
86 |
echo "# dont run when the hour first hits NORUN_START" >> $SUMRM_CONFIG |
87 |
echo "NORUN_START=7" >> $SUMRM_CONFIG |
88 |
echo "# start running again when the hour first hits NORUN_STOP" >> $SUMRM_CONFIG |
89 |
echo "NORUN_STOP=7" >> $SUMRM_CONFIG |
90 |
|
91 |
echo "A sum_rm.cf configuration file with default values has been generated" |
92 |
echo " in $SUMS_LOG_BASEDIR" |
93 |
echo "Review and edit the values as appropriate; in particular, if there is" |
94 |
echo " more than one SUMS disk partition, add the appropriate number of" |
95 |
echo " MAX_FREE_n lines and values" |