-
Notifications
You must be signed in to change notification settings - Fork 1
/
mksvconf
executable file
·59 lines (43 loc) · 1.22 KB
/
mksvconf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh
SVCONF=/etc/supervisord.conf
FETCHMAILBASE=/var/lib/fetchmail.d
function addconfig {
RCCONFIG=$1
CONF=$2
echo addconfig $RCCONFIG as $CONF
FMRC=$FETCHMAILBASE/$CONF/fetchmailrc
mkdir -p $FETCHMAILBASE/$CONF
cp $RCCONFIG $FMRC
chown fetchmail:fetchmail $FETCHMAILBASE/$CONF
chown fetchmail:fetchmail $FMRC
cat << EOF >>$SVCONF
[program:$CONF]
environment=FETCHMAILHOME=$FETCHMAILBASE/$CONF
command=/usr/bin/fetchmail $FETCHMAIL_OPTS -d 300 --nodetach --syslog
stderr_logfile = syslog
stdout_logfile = syslog
EOF
chmod 0600 $FMRC
}
echo "init fetchmailrc"
rm -rf $FETCHMAILBASE
mkdir -p $FETCHMAILBASE
sed /etc/supervisord.conf.templ -e 's/${HTTP_USER}/'${HTTP_USER}/ -e 's/${HTTP_PASSWORD}/'${HTTP_PASSWORD}/ >$SVCONF
for i in /data/*
do
if [ -e "$i/etc/fetchmailrc" ]; then
CONF=$(basename $i)
addconfig $i/etc/fetchmailrc $CONF
fi
done
for i in $(find /data -name "*.fetchmailrc")
do
CONF=$(basename $i .fetchmailrc)
addconfig $i $CONF
done
mkdir /data/log 2>/dev/null
chown fetchmail.fetchmail /data/log
chown fetchmail.fetchmail $SVCONF
mkdir -p /var/run/supervisord
chown fetchmail.fetchmail /var/run/supervisord
rm /tmp/supervisor.sock 2>/dev/null