Icarez’s Blog

Système de sauvegarde MySQL et Fichiers pour serveurs linux

novembre 30, 2008 · Laisser un commentaire

Pour sauvegarder la base de données MySQL, on créer un fichier backupsql.sh dans le dossier /root

#!/bin/bash

#***********************************************************************#
# BACKUP MySQL repris de celui de DanSteph #
# —————— #
# Vous pouvez lancer ce script en cron tous les jours, il est #
# prévu pour un backup par jour #
# Attention à la taille de vos bases de données pour l’envois #
# des emails . #
# #
#***********************************************************************#

#***********************************************************************#
# TODO #
# Gestion des erreurs si échec #
# Fichier permettant de mettre directement ses BDD #
#***********************************************************************#

#***********************************************************************#
# PARAMETRES A EDITER
#***********************************************************************#
USER=”root” #Nom de superutilisateur MySQL
DBPASS=”pass” #Votre password superutilisateur
EMAIL=”votre_email@fai.com” #Votre email
#Envois d’un mail (attention ne pas mettre à 1 si JOINDB=1
MAILSEND=”0″
DBNAME1=”bdd1″ #Nom de vos bases de données
DBNAME2=”bdd2″ #Une nouvelle ligne par base
DBNAME3=”bdd3″ #
DBNAME4=”bdd5″ #
DBNAME5=”bdd5″ #

DATEFORMAT=`date +%d-%m` #Format de la fate pour le backup

#Sujet de mail que vous recevrez si MAILSEND ou JOINDB = 1
SUJETMAIL=”Backup $DATEFORMAT MySQL effectué”
COMPRESS=”1″ #Mettre “1″ pour zipper le backup
JOINDB=”1″ #Joindre par mail le Backup
#Mettez à 0 si vous souhaitez supprimer la copie local (Déconseillé)
KEEPLOCAL=”1″
#***********************************************************************#
# EDITION AVANCEE #
#***********************************************************************#

#Répertoire de backup (temporaire si KEEPLOCAL = 0
BACKUPDIR=”/backup/sql/”

#Sauvegarde des bases de données
#Rajoutez une ligne si vous avez plus de bases de données à sauvegarder
echo “Backup SQL commencé le `date`”
mysqldump –opt -u root -p$DBPASS $DBNAME1 > $BACKUPDIR/$DATEFORMAT-$DBNAME1.sql
echo “Base de données $DBNAME1 sauvegardée”
mysqldump –opt -u root -p$DBPASS $DBNAME2 > $BACKUPDIR/$DATEFORMAT-$DBNAME2.sql
echo “Base de données $DBNAME2 sauvegardée”
mysqldump –opt -u root -p$DBPASS $DBNAME3 > $BACKUPDIR/$DATEFORMAT-$DBNAME3.sql
echo “Base de données $DBNAME3 sauvegardée”
mysqldump –opt -u root -p$DBPASS $DBNAME4 > $BACKUPDIR/$DATEFORMAT-$DBNAME4.sql
echo “Base de données $DBNAME4 sauvegardée”
mysqldump –opt -u root -p$DBPASS $DBNAME5 > $BACKUPDIR/$DATEFORMAT-$DBNAME5.sql

#***********************************************************************#
# FIN DES PARAMETRES A EDITER #
#***********************************************************************#

#Compression en Zip si COMPRESS est à 1 (Option obligatoire pour l’envois de la copie par mail.
if [ "$COMPRESS" = "1" ]
then
tar -vcf $DATEFORMAT-MySQL.tar $BACKUPDIR
rm $BACKUPDIR*
mv $DATEFORMAT-MySQL.tar $BACKUPDIR
echo “Backup SQL compressé effectué `date`”
fi
#Envois d’un email récapitulatif (Désactivé la variable MAILSEND si vous avez mis JOINDB à 1.
if [ "$MAILSEND" = "1" ]
then
echo -e “Backup MySQL effectué le `date`.\nLes Bases de données $DBNAME1, $DBNAME2, $DBNAME3, $DBNAME4, $DBNAME5 ont bien été sauvegardées.\nFichier $DATEFORMAT-MySQL.tar placé dans $BACKUPDIR” | mail -s “$SUJETMAIL” $EMAIL
fi
#Envois de votre sauvegarde par email (seulement si vous avez activé la compression par ZIP.
if [ "$JOINDB" = "1" ]
then
cd $BACKUPDIR
(echo -e “Backup MySQL effectué le `date`.\nLes Bases de données $DBNAME1, $DBNAME2, $DBNAME3, $DBNAME4, $DBNAME5 ont bien été sauvegardées.\nFichier $DATEFORMAT-MySQL.tar placé dans $BACKUPDIR”; uuencode $DATEFORMAT-MySQL.tar $DATEFORMAT-MySQL.tar) | mail -s “$SUJETMAIL” $EMAIL
fi
#Suppression de votre sauvegarde local si la variable KEEPLOCAL est = 0
if [ "$KEEPLOCAL" = "0" ]
then
rm $BACKUPDIR*
fi
echo “Backup terminé”

Ensuite on l’appelle avec une tache cron

Pour la sauvegarde de fichiers, on créer un fichier backup_file.sh dans le dossier /root :

#!/bin/bash
rsync -ave –delete /dossier_a_sauvegarder /backup/repertoire_de_sauvegarde/ && echo ’sauvegarde rsync finie’ | mail votre_email@fai.com

Et de même : execution avec une tache cron.

→ Leave a CommentCatégories : Développement web
Tagué : ,

Mettre un site en maintenance avec htaccess

novembre 30, 2008 · Laisser un commentaire

Pour mettre un site en maintenance, il faut éditer le fichier .htaccess à la racine du site et ajouter :


RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^192\.168\.10\.100$

RewriteRule !upgrade.php$ /upgrade.php [L]

Le site ne sera alors qu’accessible à l’IP 192.168.10.100, et les autres IP seront redirigés sur la page upgrade.php.

→ Leave a CommentCatégories : Développement web
Tagué : ,

Drupal : désactiver / activer Tinymce avec le bouton : “disable rich-text”

novembre 30, 2008 · Laisser un commentaire

De base le bouton qui permet de désactiver / activer tinymce ne fonctionne pas !
Afin de rendre fonctionnel le bouton  de tinymce “disable rich text”, il faut modifier le fichier tinymce.module :

--- tinymce.module	2008-04-08 09:53:01.000000000 -0400
+++ tinymce.fixed.module	2008-04-08 09:46:29.000000000 -0400
@@ -161,8 +161,8 @@
     link = document.getElementById(linkid);
     img_assist = document.getElementById('img_assist-link-'+ id);

-    if (tinyMCE.getEditorId(element.id) == null) {
-      tinyMCE.addMCEControl(element, element.id);
+    if (tinyMCE.get(element.id) == null) {
+      tinyMCE.execCommand('mceAddControl',false,element.id);
       element.togg = 'on';
       link.innerHTML = '$disable';
       link.href = "javascript:mceToggle('" +id+ "', '" +linkid+ "');";
@@ -171,7 +171,7 @@
       link.blur();
     }
     else {
-      tinyMCE.removeMCEControl(tinyMCE.getEditorId(element.id));
+      tinyMCE.execCommand('mceRemoveControl',false,element.id);
       element.togg = 'off';
       link.innerHTML = '$enable';
       link.href = "javascript:mceToggle('" +id+ "', '" +linkid+ "');";
@@ -195,10 +195,10 @@
   if (img_assist) {
     var img_assist_default_link = img_assist.innerHTML;
     if ('$img_assist_link' == 'yes') {
-      img_assist.innerHTML = tinyMCE.getEditorId('edit-$textarea_name') == null ? '' : img_assist_default_link;
+      img_assist.innerHTML = tinyMCE.get('edit-$textarea_name') == null ? '' : img_assist_default_link;
     }
     else {
-      img_assist.innerHTML = tinyMCE.getEditorId('edit-$textarea_name') == null ? img_assist_default_link : '';
+      img_assist.innerHTML = tinyMCE.get('edit-$textarea_name') == null ? img_assist_default_link : '';
     }
   }
   if (typeof(document.execCommand) == 'undefined') {
@@ -245,6 +245,12 @@
     // Load a TinyMCE init for each textarea.
     if ($init) drupal_add_js($tinymce_invoke, 'inline');

+		//settings are saved as strings, not booleans
+    if ($profile->settings['show_toggle'] == 'true') {
+      // Make sure to append to #suffix so it isn't completely overwritten
+      $element['#suffix'] .= $wysiwyg_link;
+    }
+
     // Set resizable to false to avoid drupal.js resizable function from taking control of the textarea
     $element['#resizable'] = FALSE;
   }

source : http://drupal.org/node/244066

→ Leave a CommentCatégories : Drupal · Développement web
Tagué : ,

Drupal : TinyMce : Alignement des images

novembre 30, 2008 · Laisser un commentaire

Pour rendre l’alignement des images fonctionnel (ne fonctionnait pas chez moi à la base), il faut éditer le fichier plugin_reg.php du dossier tinymce (dans modules)

Il faut alors changer la ligne :

$plugins['advimage'] = array();
$plugins['advimage']['extended_valid_elements'] = array(‘img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]‘);

en :

$plugins['advimage'] = array();
$plugins['advimage']['extended_valid_elements'] = array(‘img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|style]‘);

(soit rajouter style à la fin).

→ Leave a CommentCatégories : Drupal · Développement web
Tagué : ,

Hello world!

novembre 30, 2008 · Laisser un commentaire

Au final ce blog permettra de passer la plateforme actuellement sur mathieu.piccin.free.fr vers un blog hébergé chez wordpress. J’y gagnerai en rapidité et sécurité.

Je vais donc dans un premier temps exporter les articles du site chez free vers ce blog.

→ Leave a CommentCatégories : Divers