root / daemons / ensure-dirs.in @ c46b9782
History | View | Annotate | Download (1.2 kB)
1 | 46a8da3b | René Nussbaumer | #!/bin/bash |
---|---|---|---|
2 | 46a8da3b | René Nussbaumer | |
3 | 46a8da3b | René Nussbaumer | set -e |
4 | 46a8da3b | René Nussbaumer | |
5 | 46a8da3b | René Nussbaumer | LIBDIR="@LOCALSTATEDIR@/lib" |
6 | 46a8da3b | René Nussbaumer | DATADIR="${LIBDIR}/ganeti" |
7 | 46a8da3b | René Nussbaumer | RUNDIR="@LOCALSTATEDIR@/run" |
8 | 46a8da3b | René Nussbaumer | GNTRUNDIR="${RUNDIR}/ganeti" |
9 | 46a8da3b | René Nussbaumer | LOGDIR="@LOCALSTATEDIR@/log" |
10 | 46a8da3b | René Nussbaumer | GNTLOGDIR="${LOGDIR}/ganeti" |
11 | 46a8da3b | René Nussbaumer | |
12 | 46a8da3b | René Nussbaumer | _fileset_owner() { |
13 | 46a8da3b | René Nussbaumer | case "$1" in |
14 | 46a8da3b | René Nussbaumer | masterd) |
15 | 46a8da3b | René Nussbaumer | echo "@GNTMASTERUSER@:@GNTMASTERDGROUP@" |
16 | 46a8da3b | René Nussbaumer | ;; |
17 | 46a8da3b | René Nussbaumer | confd) |
18 | 46a8da3b | René Nussbaumer | echo "@GNTCONFDUSER@:@GNTCONFDGROUP@" |
19 | 46a8da3b | René Nussbaumer | ;; |
20 | 46a8da3b | René Nussbaumer | rapi) |
21 | 46a8da3b | René Nussbaumer | echo "@GNTRAPIUSER@:@GNTRAPIGROUP@" |
22 | 46a8da3b | René Nussbaumer | ;; |
23 | 46a8da3b | René Nussbaumer | daemons) |
24 | 46a8da3b | René Nussbaumer | echo "@GNTMASTERUSER@:@GNTDAEMONSGROUP@" |
25 | 46a8da3b | René Nussbaumer | ;; |
26 | 46a8da3b | René Nussbaumer | *) |
27 | 46a8da3b | René Nussbaumer | echo "root:root" |
28 | 46a8da3b | René Nussbaumer | ;; |
29 | 46a8da3b | René Nussbaumer | esac |
30 | 46a8da3b | René Nussbaumer | } |
31 | 46a8da3b | René Nussbaumer | |
32 | 46a8da3b | René Nussbaumer | _ensure_dir() { |
33 | 46a8da3b | René Nussbaumer | local dir="$1" |
34 | 46a8da3b | René Nussbaumer | local perm="$2" |
35 | 46a8da3b | René Nussbaumer | local owner="$3" |
36 | 46a8da3b | René Nussbaumer | |
37 | 46a8da3b | René Nussbaumer | [ -d "${dir}" ] || mkdir "${dir}" |
38 | 46a8da3b | René Nussbaumer | chmod ${perm} "${dir}" |
39 | 46a8da3b | René Nussbaumer | chown ${owner} "${dir}" |
40 | 46a8da3b | René Nussbaumer | } |
41 | 46a8da3b | René Nussbaumer | |
42 | 46a8da3b | René Nussbaumer | _ensure_rundir() { |
43 | 46a8da3b | René Nussbaumer | _ensure_dir "${GNTRUNDIR}" 0775 "$(_fileset_owner "daemons")" |
44 | 46a8da3b | René Nussbaumer | _ensure_dir "${GNTRUNDIR}/socket" 0750 "$(_fileset_owner "daemons")" |
45 | 46a8da3b | René Nussbaumer | } |
46 | 46a8da3b | René Nussbaumer | |
47 | 46a8da3b | René Nussbaumer | _ensure_logdir() { |
48 | 46a8da3b | René Nussbaumer | _ensure_dir "${GNTLOGDIR}" 0770 "$(_fileset_owner "daemons")" |
49 | 46a8da3b | René Nussbaumer | |
50 | 158377f3 | Guido Trotter | touch "${GNTLOGDIR}/rapi-daemon.log" |
51 | 46a8da3b | René Nussbaumer | chown $(_fileset_owner "rapi") "${GNTLOGDIR}/rapi-daemon.log" |
52 | 46a8da3b | René Nussbaumer | } |
53 | 46a8da3b | René Nussbaumer | |
54 | 46a8da3b | René Nussbaumer | _operate_while_hold() { |
55 | 46a8da3b | René Nussbaumer | local fn=$1 |
56 | 46a8da3b | René Nussbaumer | local path=$2 |
57 | 46a8da3b | René Nussbaumer | shift 2 |
58 | 46a8da3b | René Nussbaumer | |
59 | 46a8da3b | René Nussbaumer | (cd "${path}"; |
60 | 46a8da3b | René Nussbaumer | ${fn} "$@") |
61 | 46a8da3b | René Nussbaumer | } |
62 | 46a8da3b | René Nussbaumer | |
63 | 46a8da3b | René Nussbaumer | main() { |
64 | 46a8da3b | René Nussbaumer | _operate_while_hold "_ensure_rundir" "${RUNDIR}" |
65 | 46a8da3b | René Nussbaumer | _operate_while_hold "_ensure_logdir" "${LOGDIR}" |
66 | 46a8da3b | René Nussbaumer | } |
67 | 46a8da3b | René Nussbaumer | |
68 | 46a8da3b | René Nussbaumer | main "$@" |