File: libdspam7-drv-mysql.cron.daily

package info (click to toggle)
dspam 3.6.8-5etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 4,372 kB
  • ctags: 1,457
  • sloc: ansic: 24,738; sh: 9,860; perl: 2,378; makefile: 546; sql: 327
file content (43 lines) | stat: -rw-r--r-- 1,471 bytes parent folder | download
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
#!/bin/sh
#
# Clean up the mysql databases

DSPAMCONF=/etc/dspam/dspam.conf
MYSQLCONF=/etc/dspam/dspam.d/mysql.conf
PURGE=/usr/share/doc/libdspam7-drv-mysql/purge-4.1.sql
MYSQLCONF_PASSWD=/var/run/libdspam7-drv-mysql.cron.passwd

if grep -q "^StorageDriver.*mysql_drv.so" $DSPAMCONF; then
  if [ -x /usr/bin/mysql ]; then
    MYSQL_USER="`grep "^MySQLUser" $MYSQLCONF | awk '{print $2}'`"
    MYSQL_PASS="`grep "^MySQLPass" $MYSQLCONF | awk '{print $2}'`"
    MYSQL_DB="`grep "^MySQLDb" $MYSQLCONF | awk '{print $2}'`"
    MYSQL_HOST="`grep "^MySQLServer" $MYSQLCONF | awk '{print $2}'`"

    UMASK_OLD="`umask`"
    umask 077
    [ -e "$MYSQLCONF_PASSWD" ] && rm "$MYSQLCONF_PASSWD"
    echo -e "[client]\npassword=$MYSQL_PASS" > "$MYSQLCONF_PASSWD"
    umask "$UMASK_OLD"

    # If host is empty or starting with a / assume it's localhost.
    if [ -z "$MYSQL_HOST" ] || \
       [ ` echo "${MYSQL_HOST}" | cut -c1 ` = "/" ]; then
        /usr/bin/mysql --defaults-extra-file=$MYSQLCONF_PASSWD \
	               --user=$MYSQL_USER $MYSQL_DB < $PURGE
    else
        if echo "$MYSQL_HOST" | grep "^/" > /dev/null 2>&1 ; then
            # Assume it is a socket:
            /usr/bin/mysql --defaults-extra-file=$MYSQLCONF_PASSWD --socket=$MYSQL_HOST --user=$MYSQL_USER < $PURGE
        else
            /usr/bin/mysql --defaults-extra-file=$MYSQLCONF_PASSWD --host=$MYSQL_HOST --user=$MYSQL_USER < $PURGE
        fi
    fi

    rm "$MYSQLCONF_PASSWD"

  fi
fi

exit 0