Kleduts
04/10/2011, 15h37

Tu le transfères donc sur le serveur, tu lui mets les droits d'exécution et tu l'exécutes. Tout simplement
A+ / F.
error_reporting(E_ALL); // Activer le rapport d'erreurs PHP
$db_charset = "latin1"; /* mettre utf8 ou latin1 */
$db_server = "xxxxxx"; // Nom du serveur MySQL. ex. mysql5-26.perso
$db_name = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_username = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_password = "xxxxxx"; // Mot de passe de la base de données.
$cmd_mysql = "mysqldump";
$archive_GZIP = "sauve_base_format_gzip.gz";
echo " Sauvegarde de la base $db_name par mysqldump dans le fichier $archive_GZIP
\n";
$commande = $cmd_mysql." --host=$db_server --user=$db_username --password=$db_password -C -Q -e --default-character-set=$db_charset $db_name | gzip -c > $archive_GZIP ";
$CR_exec = system($commande);
?>
error_reporting(E_ALL); // Activer le rapport d'erreurs PHP
$db_charset = "latin1"; /* mettre utf8 ou latin1 */
$db_server = "xxxxxx"; // Nom du serveur MySQL. ex. mysql5-26.perso
$db_name = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_username = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_password = "xxxxxx"; // Mot de passe de la base de données.
$cmd_mysql = "mysqldump";
$archive_GZIP = "sauve_base_format_gzip.gz";
$Liste_tables_a_sauvegarder = " Table1 Table2 Table3 Table4 Table5 ... ";
echo " Sauvegarde de la base $db_name par mysqldump dans le fichier $archive_GZIP
\n";
$commande = $cmd_mysql." --host=$db_server --user=$db_username --password=$db_password -C -Q -e --default-character-set=$db_charset $db_name $Liste_tables_a_sauvegarder | gzip -c > $archive_GZIP ";
$CR_exec = system($commande);
?>
error_reporting(E_ALL); // Activer le rapport d'erreurs PHP
$db_charset = "latin1"; /* mettre utf8 ou latin1 */
$db_server = "xxxxxx"; // Nom du serveur MySQL. ex. mysql5-26.perso
$db_name = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_username = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_password = "xxxxxx"; // Mot de passe de la base de données.
$cmd_mysql = "mysqldump";
$archive_GZIP = "sauve_base_format_gzip.gz";
$Prefixe_tables_a_exclure = " --ignore-table=".$db_name.".jomla1_";
echo " Sauvegarde de la base $db_name par mysqldump dans le fichier $archive_GZIP
\n";
$commande = $cmd_mysql." --host=$db_server --user=$db_username --password=$db_password -C -Q -e --default-character-set=$db_charset $db_name $Prefixe_tables_a_exclure | gzip -c > $archive_GZIP ";
$CR_exec = system($commande);
?>
error_reporting(E_ALL); // Activer le rapport d'erreurs PHP
$db_charset = "latin1"; /* mettre utf8 ou latin1 */
$db_server = "xxxxxx"; // Nom du serveur MySQL. ex. mysql5-26.perso
$db_name = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_username = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_password = "xxxxxx"; // Mot de passe de la base de données.
$cmd_mysql = "mysql";
$archive_GZIP = "sauve_base_format_gzip.gz";
if (!is_file($archive_GZIP)) echo "Le fichier ".$archive_GZIP." n'existe pas
\n";
echo " Restauration de la base $db_name par mysql depuis le fichier $archive_GZIP
\n";
$commande = "gzip -d < $archive_GZIP | $cmd_mysql --host=$db_server --user=$db_username --password=$db_password $db_name";
$CR_exec = system($commande);
?>
error_reporting(E_ALL); // Activer le rapport d'erreurs PHP
$db_charset = "latin1"; /* mettre utf8 ou latin1 */
$db_server = "xxxxxx"; // Nom du serveur MySQL. ex. mysql5-26.perso
$db_name = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_username = "xxxxxx"; // Nom de la base de données. ex. mabase
$db_password = "xxxxxx"; // Mot de passe de la base de données.
$cmd_mysql = "mysql";
$archive_SQL = "Sauve_Base.SQL";
if (!is_file($archive_SQL)) echo "Le fichier ".$archive_SQL." n'existe pas
\n";
echo " Restauration de la base $db_name par mysql depuis le fichier $archive_SQL
\n";
$commande = "$cmd_mysql --host=$db_server --user=$db_username --password=$db_password $db_name < $archive_SQL";
$CR_exec = system($commande);
?>
-- MySQL dump 10.13 Distrib 5.1.35, for Win32 (ia32)
--
-- Host: localhost Database: YYY
-- ------------------------------------------------------
-- Server version 5.1.35-community
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `tbl_adresses`
--
DROP TABLE IF EXISTS `Table_xxx`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Table_xxx` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
...
`DER` varchar(3) NOT NULL DEFAULT '',
PRIMARY KEY (`Id`),
KEY `Id` (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=2561 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `Table_xxx`
--
LOCK TABLES `Table_xxx` WRITE;
DBS="$($MYSQL -u root -p$DBPASS -Bse 'show databases')" for DBNAME in $DBS do mysqldump --opt -u root -p$DBPASS $DBNAME > $BACKUPDIR/$DATEFORMAT-$DBNAME.sql echo "Base de données $DBNAME sauvegardée" done
adding: var/www/backups/09-07-psychosstats.sql (deflated 76%)
adding: var/www/backups/09-07-gpx.sql (deflated 81%)
adding: var/www/backups/09-07-hlstatsmulti.sql (deflated 87%)
#!/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="XXXXXXXX" #Votre password superutilisateur EMAIL="XXXXXXXX@XXX.XXX" #Votre email #Envois d'un mail (attention ne pas mettre à 1 si JOINDB=1 MAILSEND="0" DBNAME1="aseco" #Nom de vos bases de données DBNAME2="cacti" #Une nouvelle ligne par base DBNAME3="flyspray" # 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="0" #***********************************************************************# # EDITION AVANCEE # #***********************************************************************# #Répertoire de backup (temporaire si KEEPLOCAL = 0 BACKUPDIR="/home/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" #***********************************************************************# # 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 zip -rT9 $DATEFORMAT-MySQL.zip $BACKUPDIR rm $BACKUPDIR* mv $DATEFORMAT-MySQL.zip $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 ont bien été sauvegardées.\nFichier $DATEFORMAT-MySQL.zip 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 ont bien été sauvegardées.\nFichier $DATEFORMAT-MySQL.zip placé dans $BACKUPDIR"; uuencode $DATEFORMAT-MySQL.zip $DATEFORMAT-MySQL.zip) | 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é"