IT & + si affinités

Encore un blog de sysadmin … mais pas uniquement ;-)

Backup mysql databases

Un script de backup des bases mysql simple :

il est prévu pour fonctionner sur debian.

#!/bin/bash
# Name : backup_mysql.sh
# Author : @Markhor75 
# Last Mod : 2014 08 27
# Backup all MySQL databases

DESTINATION="/home/backup/mysql"
RETENTIONDAYS="2"

MYSQLUSER=`cat /etc/mysql/debian.cnf |grep -m 1 user |awk '{print $3}'`
MYSQLPASS=`cat /etc/mysql/debian.cnf |grep -m 1 password |awk '{print $3}'`
DATE="$(date +"%Y%m%d_%H%M")"

mysqldump --user=$MYSQLUSER --password=$MYSQLPASS --events --all-databases |bzip2 >$DESTINATION"/"$DATE""_mysql_""$HOSTNAME""_db.bz2
find $DESTINATION -maxdepth 1 -ctime +$RETENTIONDAYS -type f -exec rm {} \;

Ajout des perfdata au plugin check_procs de Nagios

Le plugin original check_proc de de Nagios ne fournit pas de données de performances utilisables par pnp pour générer des graphs, il existe un patch à appliquer au sources, mais il faut du coup recompiler le plugin.

Pour éviter cela, voici un petit script intermédiaire qu’il suffit d’appeler à la place de check_procs :

 

#!/bin/bash

proc_status=`/usr/lib/nagios/plugins/check_procs -w $2 -c $4`
code=$?

perfdata="processus="`echo $proc_status |cut -f 3 -d " "`";"

echo $proc_status"|"$perfdata
exit $code

 

 

Script de monitoring de fakeraid dmraid

Si vous utilisez les puces intégrés aux cartes mères, qui permettent de faire du fakeraid, une émulation de raid semi matérielle gérée par l’OS, vous pourrez avoir l’utilité de ce script.

Néanmoins je déconseille fortement l’utilisation de fakeraid en général et catégoriquement pour des serveur en production.

Ce script a été créé en 2009 et fonctionnait à l’époque. Aujourd’hui nous n’utilisons plus de fakeraid et la syntaxe de la commande dmraid à peut être changé.

#!/bin/bash
dmraid_cmd="sudo /sbin/dmraid -s"
raid_status=`$dmraid_cmd | grep status | awk '{print $3}'`
if [ "$?" != "0" ] ; then
        echo "dmraid not responding"
        exit 2
else
        dev_number=`$dmraid_cmd | grep devs | awk '{print $3}'`
        spare_number=`$dmraid_cmd | grep spares | awk '{print $3}'`
        raid_type=`$dmraid_cmd | grep type | awk '{print $3}'`
        if [ "$raid_status" = "ok" ] && [ "$dev_number" = "$1" ] ; then
                echo "OK, RAID type : "$raid_type", drives : "$dev_number"/$1, spares : "$spare_number
                exit 0
        else
                echo "RAID Status : "$raid_status" drives : "$dev_number"/$1,  spares : "$spare_number
                exit 1
        fi
fi