Posts Tagged script

Mysql dump

Petit script de DUMP des bases mysql pour les restaurer jusqu’à 30 jours

Préparation

Création d’un utilisateur mysql n’ayant que le droit de faire des dump

CREATE USER 'dump'@'localhost' IDENTIFIED BY 'MotDePAssEBetonEtLonG';
GRANT SELECT , SHOW DATABASES , LOCK TABLES , SHOW VIEW ON * . * TO 'dump'@'localhost' IDENTIFIED BY 'MotDePAssEBetonEtLonG' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

Création du répertoire d’accueil des dumps

# mkdir /var/backups/mysql

Source du script mysql_dump.sh

#!/bin/bash

# Impiré d'un script trouvé sur phpnews.fr
 # Repris par David Mercereau david [point] mercereau [at] gmail [point] com
 # Déclaration de l'utilisateur MySQL aux droits suffisants pour parcourir vos bases de données
 my_utilisateur='dump'
 my_motdepasse='MotDePassEBetonEtLonG'

# Répertoire de stockage des dump
 rep="/var/backups/mysql/"
 # On définit le nom du dump (ici la date jusqu'à  la minute)
 dossier="dump_`date +%d`.`date +%m`.`date +%y`@`date +%H`h`date +%M`"

# On crée sur le disque un répertoire temporaire
 mkdir "$rep/$dossier"

# On place dans un tableau le nom de toutes les bases de données du serveur
 # On peut choisir ici d'exclure certaines bases de données de la sauvegarde grâce à  la clause LIKE
 # Ex : -e "show databases LIKE 'blog_%'"
 databases=( $(mysql -u $my_utilisateur -p"$my_motdepasse" -e "show databases" | grep -v Database) )

# On dump base par base
 for database in ${databases[@]}
 do
 $(mysqldump -u $my_utilisateur -p$my_motdepasse --quick --add-locks --lock-tables --extended-insert $database  > ${rep}${dossier}/${database}.sql)
 done

# Compression
 cd $rep
 tar -cvzf ${dossier}.tar.gz $dossier/
 chmod 600 ${dossier}.tar.gz

# Suppression repertoire temporaire
 rm -rf $dossier/

# Ménage dans les vieux dump
 echo "Suppression des vieux dump"
 find $rep -mtime +30 -print -exec rm {} \;

Ajouter en tâche cron

De cette manière nous allons lancer ce script tous les jours à 4 heures du matin

$ crontab -e

Ajouter ceci

0 4 * * * nice -n 19 /chemin/du/script/mysql_dump.sh

Tags: , ,

Mise à jour d’ISPConfig3 chez OVH

Attention,

Si vous avez installé la distribution prête à l’emploi de chez OHV et que vous voulez faire la mise à jour d’ISPConfig, il vous faut avoir le mot de passe root de MySQL.

Or, le mail envoyé par OVH à l’installation du serveur ne fournit pas ce mot de passe.

Donc, il faut suivre le tuto ci-dessous afin de redéfinir un mot de passe root :

/etc/init.d/mysql stop
mysqld --skip-grant-tables --skip-networking &
mysql mysql
UPDATE user SET password=PASSWORD('nouveaumotdepasse') WHERE User="root" AND Host="localhost";
/etc/init.d/mysql restart

Ensuite, suivez ici le tuto habituel.

Tags: , , ,

Mise à jour d’ISPConfig3

Pour mettre à jour ISPConfig 3, lancer cette commande :

ispconfig_update.sh

Choisir “stable” comme ressource. Le script vérifie si une mise à jour d’ISPConfig3 est disponible et charge l’archive tar.gz, puis lance le script de mise à jour.

Note : si vous avez la distrib OVH / Debian Lenny / ISPConfig3, lire ceci auparavant.

Si votre version d’ISPConfig ne comporte pas ce script, suivre les instructions ci-dessous.

cd /tmp
wget www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.php

Déroulement des opérations

# ispconfig_update.sh
--------------------------------------------------------------------------------
  _____ ___________Â Â  _____Â Â Â Â Â Â Â Â Â Â Â Â Â  __ _
 |_Â Â  _/Â  ___| ___ \ /Â  __ \Â Â Â Â Â Â Â Â Â Â Â  / _(_)
  | | \ `--.| |_/ / | /Â  \/ ___Â  _ __ | |_ _Â  __ _
  | |Â  `--. \Â  __/Â  | |Â Â Â  / _ \| '_ \|Â  _| |/ _` |
 _| |_/\__/ / |Â Â Â Â  | \__/\ (_) | | | | | | | (_| |
 \___/\____/\_|Â Â Â Â Â  \____/\___/|_| |_|_| |_|\__, |
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------

>> Update

Please choose the update method. For production systems select 'stable'.
 The update from svn is only for development systems and may break your current setup.

Select update method (stable,svn) [stable]: stable

--------------------------------------------------------------------------------
  _____ ___________   _____              __ _
 |_   _/  ___| ___ \ /  __ \            / _(_)
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |
 _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| |
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, |
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------

>> Update

Operating System: Debian Lenny/Sid or compatible

This application will update ISPConfig 3 on your server.
MySQL root password []: votre_mot_de_passe_root_mysql
Reconfigure Services? (yes,no) [yes]: no

Updating ISPConfig
ISPConfig Port [8080]: 8080

Reconfigure Crontab? (yes,no) [yes]: yes

Updating Crontab
Update finished.
/usr/local/ispconfig/server/scripts/update_from_tgz.sh: line 18: syntax error near unexpected token `else'
/usr/local/ispconfig/server/scripts/update_from_tgz.sh: line 18: `else'

C’est fini !

Tags: , ,