Hello,

Voici un petit script php qui va vous permettre d’automatiser la création d’autoblogs, plus besoin de trifouiller des fichiers, ce script va faire le boulot pour vous.

Petit pré-requis : avoir les fichiers de base d’autoblog : l’index.php et le config.php
Je vous conseille de renommer ces fichiers, par exemple autoblog_index.php et autoblog_config.php

Ce script n’a pas besoin de se situer dans le même dossier que vos fichier autoblog_index.php et autoblog_config.php, mais c’est plus simple, si néanmoins vous souhaitiez le placer autre part, n’oubliez pas de modifier les champs requis lors du lancement du script.

Le script va créer un dossier pour l’autoblog, le fichier vvb.ini et en plus de cela les fichiers index.php et config.php, ces deux derniers fichiers seront (en fonction de l’option sélectionnée) soit des liens symboliques, soit des fichiers php faisant appel aux fichiers autoblog_index.php et autoblog_config.php

Le fichier vvb.ini créé est documenté (c’est plus lourd, mais, si vous comptez le modifier c’est mieux), le script ne s’occupe pas de modifier les options supplémentaires tel l’intervale de mise à jour, le nombre d’articles par page, etc

Vous pouvez donc télécharger le script de création d’autoblogs et créer plein de petits miroirs de tout ce que vous souhaitez !

Si vous trouvez un bug, avez une suggestion ou autre, les commentaires sont là pour ça.

Niveau licence : faites ce que vous voulez avec (partage, modif, …) mais citez l’auteur (c’est-à-dire moi : T0m-S) avec un petit lien vers cet article, c’est quand même plus cool, si vous ne le faites pas … un immense dinosaure venu du futur viendra manger votre famille (oui, rien que ça).

PS : je vous conseille quand même de modifier le nom de ce fichier, pour pas qu’un comique s’amuse à créer pleins de trucs sur votre serveur.
PPS : si vous souhaitez que je vous autoblog n’hésitez pas à le demander.

Voila un petit script pour tous ceux qui voudraient faire des sauvegardes de leur base de donnée.

<?php
// création d'une fonction comportant les identifiants de connexion au FTP :


function mysql_structure() {
$host = 'mon_serveur';
$user = 'mon_login';
$pass = 'mot_de_passe';
$base = 'nom_de_la_base';

// création d'un fichier affichant en boucle le contenu des tuples de la base :

mysql_connect($host, $user, $pass);
mysql_select_db($base);
$tables = mysql_list_tables($base);
while ($donnees = mysql_fetch_array($tables))
{
$table = $donnees[0];
$res = mysql_query("SHOW CREATE TABLE $table");
if ($res)
{
$insertions = "";
$tableau = mysql_fetch_array($res);
$tableau[1] .= ";";
$dumpsql[] = str_replace("\n", "", $tableau[1]);
$req_table = mysql_query("SELECT * FROM $table");
$nbr_champs = mysql_num_fields($req_table);
while ($ligne = mysql_fetch_array($req_table))
{
$insertions .= "INSERT INTO $table VALUES(";
for ($i=0; $i<=$nbr_champs-1; $i++)
{
$insertions .= "'" . mysql_real_escape_string($ligne[$i]) . "', ";
}
$insertions = substr($insertions, 0, -2);
$insertions .= ");\n";
}
if ($insertions != "")
{
$dumpsql[] = $insertions;
}
}
}
return implode("\r", $dumpsql);
}


// creation d'une fonction file_put_content si le script est en PHP4 :

if(!function_exists('file_put_contents')) {
function file_put_contents($filename, $data, $file_append = false) {
$fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
if(!$fp) {
trigger_error('file_put_contents ne peut pas écrire dans le fichier.', E_USER_ERROR);
return;
}
fputs($fp, $data);
fclose($fp);
}
}


// création du fichier de dump sur le même niveau que ce fichier dump.php

file_put_contents("sqldump_".date("d-n-Y").".sql", mysql_structure());

// effacement du fichier precedant (créé 7 jours plus tot)
$time_old = getdate(mktime()-(7*24*3600));
$an = $time_old['year'];
$mois = $time_old['mon'];
$jour = $time_old['mday'];


// formatage des jours à 1 chiffre

for($k=1; $k<10; $k++)
{
if ($jour==$k)
{
$jour='0'.$jour;
}
}

$date_old=$jour.'-'.$mois.'-'.$an;
$file_old="sqldump_".$date_old.".sql";
unlink($file_old);
?>

Le script n’est pas de moi, je l’ai honteusement pompé sur webtolosa (la flemme de coder un truc qui existe déjà, je sais, c’est mal).Vous devrez peut-être commenter l’avant dernière ligne (lui rajouter des « // » devant), sous peine de voir un beau message d’erreur lors de la première exécution du script.

Vous pouvez bien sur améliorer le script pour qu’il compresse le fichier sql, pour qu’il fasse une sauvegarde de vos fichiers et place le tout dans un fichier .tar.bz2, et par exemple qu’il vous envoie le tout par mail (attention à la taille des pièces jointes dans ce cas là, si c’est trop gros ça risque de ne pas s’envoyer).

L’avantage avec le script php est que vous pouvez le lancer vous même en vous rendant dessus, ou vous pouvez l’intégrer dans une page de spécifique de votre site.

Pour le faire tourner automatiquement chez ovh (peut-être un rapport avec le fait que je soit passé chez eux hier …) c’est simple, uploadez le script dans votre FTP (dans le répertoire /home/votre_login/www/ ), passez le en chmod 704, ainsi vous pouvez l’exécuter vous même depuis le web.
Bon là tout le monde peux le lancer donc arranger vous pour lui donner un nom bien dur à trouver du style « mega_back-up_de_la—b-a-s-e–my_sql.php » ainsi les gens ne s’amuseront pas à le lancer pour vous (et faire ramer votre site par la même occasion, surtout si la base de donnée est grosse).

Rendez-vous ensuite dans votre interface d’administration, allez dans la gestion de votre hébergement, et ensuite dans « planificateur de tâches ».

Planificateur de taches ovh - t0m-s -

Créez une nouvelle tache, et renseignez l’endroit où se trouve votre script php, indiquer quand vous voulez qu’il s’exécute et enregistrez les modifications, voila, une sauvegarde vous attendra dans votre ftp tout les jeudi minuit par exemple.

Si vous ne comprenez pas quelque chose demandez moi.