Script Batch > test mysql bash

Titretest mysql bash
Postée le27-04-2011
Affichée310
Mini-lien
Description

test script bash et mysql

EtatInconnu. Inconnu.
Code d'insertion
Options
Afficher les numéros de lignes  Mettre la source en plein ecran  Selectionner la source  Partager sur Facebook 
Téléchargement Telecharger en format txt  Telecharger en format pdf
Plein ecran
#!/bin/bash
. /root/fsh/script/.common

lock='/var/run/fsh/dns-a-check.lock'
if [ -e $lock ]
  then
  exit
  fi
#touch $lock

dns_master='8.8.8.8'
send=0

domains=$(sql "SELECT domain.domain_name FROM domain, member WHERE member.member_id=domain.member_id AND member.suspendu=0 AND domain.domain_suspendu=0;")


#echo "$domains"
#exit

for domain in $domains
  do
  a=$(dig @$dns_master "$domain" A | grep "^$domain." | expand | tr -s ' ' ' ' | grep ' A ' | cut -d' ' -f5 | sort | uniq)
  offline=$(sql "SELECT domain_offline FROM \`$database_site\`.domain WHERE domain_name = '$domain' LIMIT 1")
  send=0
  tmp=''
  if [ $(echo "$a" | grep '178.33.214.192\|188.165.55.165' | wc -l) -eq 0 ]
    then
    if [ "$offline" == "0" ]
      then
      send=1
      sql "UPDATE \`$database_site\`.domain SET domain_offline = '1' WHERE domain_name = '$domain' LIMIT 1"
      sql "UPDATE \`$database_mail\`.domain SET active = '0' WHERE domain = '$domain' LIMIT 1"
      ns=$(dig @$dns_master $domain NS | grep "^$domain." | expand | tr -s ' ' ' ' | grep ' NS ' | cut -d' ' -f5 | sort | uniq)
      if [ -z "$a" ]
        then
        a="*** AUCUN SERVEUR WEB ***"
        else
        for i in $a
          do
          if [ ! -z "$tmp" ]
            then
            tmp="$tmp\n"
            fi
          host=$(nslookup "$i" | expand | tr -d ' ' | grep 'name=' | cut -d'=' -f2 | sed "s/.$//g" | tail -1)
          if [ ! -z "$host" ]
            then
            tmp="$tmp$i ($host)"
            else
            tmp="$tmp$i"
            fi
          done
        a=$tmp
        fi
      if [ -z "$ns" ]
        then
        ns="*** AUCUN SERVEUR DE NOM ***"
        fi
      body="L'adresse http://$domain/ de votre nom de domaine ' $domain ' ne pointe pas ou plus sur le serveur WEB de FranceServ Hébergement.

Les visiteurs de votre site sont actuellement dirigés vers le ou les serveurs WEB suivants n'appartenant pas à notre réseau :
$(echo "$a" | sed "s/^/> /g")

De ce fait, les sites attachés à ce domaine ont été mis hors lignes et les alias mail bloqués. Les adresses de secours sont cependant toujours fonctionnelles, vous pouvez ainsi accéder à votre site à l'adresse http://$domain.redirect.franceserv.com, de même pour vos sous domaines éventuels.

Les serveurs de nom gestionnaire de votre domaine sont :
$(echo "$ns" | sed "s/^/> /g")"

      if [ $(echo "$ns" | grep '^ns.franceserv.com.\|^ns2.franceserv.com.' | wc -l) -eq 2 ]
        then
        body="$body

Etant donné que vous utilisez les serveurs de noms de FranceServ Hébergement, il vous suffit de vous connecter sur votre interface de gestion et de corriger la zone DNS de votre nom de domaine $domain."
        else
        body="$body

Etant donné que vous n'utilisez pas les serveurs de noms de FranceServ Hébergement, vous devez vous rendre chez le gestionnaire de votre nom de domaine pour corriger la situation.

Nous vous conseillons de modifier vos serveurs de noms par ceux de FranceServ Hébergement :
> ns.franceserv.com (188.165.55.165)
> ns2.franceserv.com (91.121.45.205)

Vous pouvez bien sûr ne modifier que le champ A et www de votre zone DNS par l'adresse IP 178.33.214.192 mais vous perdez le bénéfice de l'ajout automatique des champs A à chaque ajout d'un site à votre nom de domaine et vous devez également renseigner le bon serveur MX pour la gestion des mails."
        fi
      body="$body

Une fois le rétablissement fait et la zone DNS propagée, vous recevrez automatiquement un mail vous informant de la prise en compte de votre modification par nos soins."

Pour plus d'information sur les DNS ou si vous choisissez de gérer votre zone DNS ailleurs (non recommandé), consultez notre base de documentation Wiki :
http://www.franceserv.fr/wiki/dns_domain
http://www.franceserv.fr/wiki/free_domain

Nous vous conseillons également cet outil pour un test plus approfondi de votre domaine :
http://www.intodns.com/$domain"
      fi
    else
    if [ "$offline" == "1" ]
      then
      send=1
      local=$(sql "SELECT local FROM \`$database_mail\`.domain WHERE domain='$domain' LIMIT 1;")
      sql "UPDATE \`$database_site\`.domain SET domain_offline = '0' WHERE domain_name = '$domain' LIMIT 1"
      sql "UPDATE \`$database_mail\`.domain SET active = '1' WHERE domain = '$domain' LIMIT 1"
      body="L'adresse http://$domain/ de votre nom de domaine ' $domain ' pointe de nouveau correctement au niveau de sa zone DNS sur le serveur WEB de FranceServ Hébergement.

De ce fait, les sites attachés à ce domaine ont été remis en ligne"
      if [ "$local" == "1" ]
        then
        body="$body avec leur boites mails associées"
        fi
      body="$body."
      fi
    fi
  if [ $send -eq 1 ]
    then
    echo ""
    #login=$(sql "SELECT member.login FROM \`$database_site\`.member, \`$database_site\`.domain WHERE domain.member_id=member.member_id AND domain.domain_name='$domain' LIMIT 1;")
    #firstname=$(sql "SELECT firstname FROM \`$database_site\`.member WHERE login='$login' LIMIT 1;")
    #name=$(sql "SELECT name FROM \`$database_site\`.member WHERE login='$login' LIMIT 1;")
    # email=$(sql "SELECT email FROM \`$database_site\`.member WHERE login='$login' LIMIT 1;")
    # header="Bonjour $firstname $name $login,"
    # footer="Cordialement,\n\nFranceServ Hébergement\nhttp://www.franceserv.fr\n\nPour le support :\nhttp://www.franceserv.fr/forum/"
    # echo -e "$header\n\n$body\n\n$footer" | mutt -b franceserv@franceserv.com -s "[FranceServ Hebergement] Votre domaine $domain" $email
    fi
  done

#rm $lock