ma situation est la suivante:
Alors:
Connaissez-vous un outil qui permettrait de sauvegarder sans aide une base de données? Par non assisté, je veux dire que je voudrais l'appeler en utilisant une commande curl par exemple ...
Je mettrai probablement en place un VPS dans un proche avenir, mais pour le moment je suis coincé avec ce fournisseur!
Cela ressemble à un travail pour phpMyBackupPro que j'ai utilisé il y a longtemps dans une situation similaire. Il vous permettra de créer une sauvegarde planifiée en appelant un simple script PHP sur votre serveur que vous pouvez appeler par URL. Les sauvegardes peuvent ensuite être stockées sur le serveur, envoyées par FTP à un autre serveur ou envoyées par courrier.
Dans mon ancienne configuration, j’ai même écrit un simple script XML-RPC appelant le script de sauvegarde planifié phpMBP (ici nommé 'ping.php') lorsque cinglé, par exemple. WordPress:
<?xml version="1.0"?>
<?php @include('ping.php'); ?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>flerror</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>message</name>
<value>Thanks for the ping.</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
Cependant, je recommanderais de passer à un VPS dès que possible. Les VPS étant peu coûteux et abondants, il n’ya pas de doute aujourd’hui sur les hôtes partagés.
mysqldump
fonctionne pour les hôtes distants - utilisez l'indicateur -h
pour spécifier l'hôte auquel vous souhaitez vous connecter (et assurez-vous que votre compte d'hébergement partagé est configuré pour accepter les connexions à partir de l'adresse IP de l'hôte distant et les informations d'identification d'accès).
Il est également très probable que mysqldump
soit installé sur le serveur et il est également probable que les opérateurs PHP opérateurs d'exécution soient activés. (une idée horrible pour l'hébergement partagé, mais malheureusement assez commun) afin que vous puissiez peut-être utiliser PHP pour exécuter des commandes Shell et atteindre votre objectif.
Edit: Si les connexions MySQL distantes et les opérateurs d’exécution sont désactivés, le script cURL qui phrac recommandé peut être une solution, mais même si ce script ne répond pas à vos besoins, vous avez toujours des options (si vous pouvez accéder aux données et exécuter des scripts, vous pouvez toujours obtenir une copie).
Si mysqldump
est installé sur votre serveur d'hébergement partagé, vous pouvez créer un travail cron pour vider la base de données dans un répertoire accessible par le Web, par exemple. mysqldump dbname > /path/to/www/subdir/backup.sql
(assurez-vous simplement que le sous-répertoire bloque l'accès par des adresses IP non fiables)
Si vous n'avez pas mysqldump
sur le serveur d'hébergement partagé, vous pouvez écrire un script PHP qui exécute un SELECT ... INTO OUTFILE
requête (encore une fois, sous un répertoire protégé accessible sur le Web avec des autorisations d'écriture indulgentes).
Si vous n'avez pas l'option d'accorder à un utilisateur MySQL des privilèges suffisants pour écrire dans un fichier de sortie, vous pouvez quand même écrire un script PHP qui (c'est un moche solution) fait écho aux instructions MySQL INSERT
de vos données en réponse aux requêtes et place ce script dans un répertoire accessible par le Web.
Une recherche rapide sur Google a révélé un script qui prétend utiliser cURL pour accéder à phpMyAdmin et effectuer un dump, mais je ne l'ai pas personnellement testé: