source: alternc/trunk/src/functions.sh @ 3129

Revision 3129, 1.4 KB checked in by fufroma, 16 months ago (diff)

Patch/simplifications d'une serie d'alternc tools (quota et permissions)

Reecriture de slave-dns pour qu'il utilise le template (avant il utilisait
le template la premiere fois, et après utilisait un template en dur dans
son code)

  • Property svn:executable set to *
Line 
1#!/bin/bash
2# functions.sh next-gen by Fufroma
3
4# Init some vars
5. /etc/alternc/local.sh
6
7# Init some other vars
8MYSQL_DO="/usr/bin/mysql --defaults-file=/etc/alternc/my.cnf -Bs -e "
9mysql_query() { /usr/bin/mysql --defaults-file=/etc/alternc/my.cnf -Bs -e "$@" ; }
10DOMAIN_LOG_FILE="/var/log/alternc/update_domains.log"
11VHOST_FILE="$VHOST_DIR/vhosts_all.conf" 
12
13# Some usefull miscellaneous shell functions
14print_domain_letter() {
15    local domain="$1"
16
17    local letter=`echo "$domain" | awk '{z=split($NF, a, ".") ; print substr(a[z-1], 1, 1)}'`
18    if [ -z "$letter" ]; then
19      letter="_"
20    fi
21    echo $letter
22}
23
24print_user_letter() {
25    local user="$1"
26    echo ${user:0:1}
27}
28
29get_uid_by_name() {
30  mysql_query 'SELECT uid FROM membres WHERE login="'"$1"'" LIMIT 1;'
31}
32
33# imprime le nom d'usager associé au domaine
34get_account_by_domain() {
35    # les admintools ne sont peut-être pas là
36#    if [ -x "/usr/bin/get_account_by_domain" ]
37#    then
38#        # only first field, only first line
39#        /usr/bin/get_account_by_domain "$1"|head -1|awk '{ print $1;}'
40#    else
41        # implantons localement ce que nous avons besoin, puisque admintools
42        # n'est pas là
43        mysql_query 'SELECT a.login FROM membres a, sub_domaines b WHERE a.uid = b.compte AND \
44        CONCAT(IF(sub="", "", CONCAT(sub, ".")), domaine) = "'"$1"'" LIMIT 1;'
45#    fi
46}
47
48log_error() {
49  local error=$1
50  echo "`date` $0 : $1" | tee -a "$DOMAIN_LOG_FILE" >&2
51  exit 1
52}
53
Note: See TracBrowser for help on using the repository browser.