À l'assaut du RAID

Un serveur en vrac, probablement du à un ensemble RAID dans un état bizarre, sur une machine qui ne boote pas, dont le lecteur de DVD ne fonctionne pas, avec une connexion réseau, quelques ports USB, et aucun moyen de booter sur autre chose que les disques durs ; par contre on peut monter ce vieux[1] Mac Pro en mode disque cible…

Voilà mes premières constatations.

Ça risque d’être assez rock’n’roll de remettre tout ça en état de marche, mais ça m’intéresse, donc je vais chercher et fouiller un peu dans tous les sens.

Mais avant ça, installation d’un petit script pour sauvegarder les bases MySQL tous les jours, ça ne mange pas de pain, juste de la place, vu que j’ai eu quelques difficultés avec cette ancienne version de sauvegarde Time-Machine (normal sur un OS X 10.5.8).


#!/bin/bash
PATH=${PATH}:/usr/local/mysql/bin/

DBHOST="localhost"
DBUSER="dbdump"
DBPATH="/Users/me/dbdump/"

# Backup MySQL databases
now=$(date +"%Y-%m-%d")
for database in $(mysql -h ${DBHOST} -u ${DBUSER} -e "show databases"|awk -F " " '{print $1}'); do
	if	[ "$database" != "information_schema" ] &&
		[ "$database" != "performance_schema" ] &&
		[ "$database" != "Database" ] &&
		[ "$database" != "mysql" ] &&
		[ "$database" != "sys" ]; then
#		echo $DBPATH$database-$now.sql.gz
		mysqldump -h ${DBHOST} -u ${DBUSER} $database | gzip -9 > $DBPATH$database-$now.sql.gz
	fi
done

# Remove oldest dumps
find ${DBPATH} -type f -mtime +6 -exec rm {} \;

En oubliant pas de créer un utilisateur MySQL dbdump avec a minima les privilèges globaux Select (bases et tables), Show view (vues et procédures), Reload, Lock tables et Show databases (administration) ; puis de renseigner le mot de passe de cet utilisateur dans le fichier de configuration /etc/my.cnf pour [mysql] et [mysqldump].

Puis un crontab quotidien devrait l’affaire, ou équivalent sur OS X :

Créer un fichier /Library/LaunchDaemons/com.me.mysqlbackup.plist contenant :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.me.mysqlbackup</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/me/mysqlbackup.sh</string>
    </array>
    <key>StartInterval</key>
    <integer>86400</integer>
</dict>
</plist>

Puis ajout à la liste :

sudo launchctl load -w /Library/LaunchDaemons/com.me.mysqlbackup.plist

Pour vérifier :

sudo launchctl list

Pour retirer de la liste :

sudo launchctl unload -w /Library/LaunchDaemons/com.me.mysqlbackup.plist

Enjoy!

Note

[1] Mis en route en décembre 2008.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/13269

Haut de page