par
CityT » 19 juil. 2008, 19:19
Bonjour à Tous,
J'ai besoin d'automatiser certaines tâches (pour partir en vacances l'esprit tranquille, oui hum bon...)
-Rechercher des enregistrements dans une base MySql
-Les copier dans une autre
D'après tout ce que j'ai pu lire, le seul moyen est de passer par une tâche Cron, qui fait appel à un script php.
J'ai fait les scripts Mysql suivants:
1:)ENREGISTREMENT DES FEUILLES CHERCHÉES :
Code : Tout sélectionner
SELECT * INTO OUTFILE '/tmp/feuilles.txt' FROM `feuille` WHERE `agence_voyage_id` <7 AND `dates` = DATE_ADD( CURDATE( ) , INTERVAL 1 DAY ) LIMIT 0 , 3000
2:)UPLOAD DU FICHIER :
Les 2 scripts fonctionnent dans PhPMyAdmin
Et une petite tache Cron me supprime automatiquement le fichier txt.
Tout çà, çà marche, ouf. Çà c'est fait.
Là ou je transpire depuis 2 jours, c'est dans la fabrication des scripts Php. J'ai tout essayé, à l'endroit, à l'envers, avec des -q, avec des ' et des '' partout, en Francais , en Anglais, rien ne marche. Au mieux, dans mon Webadmin, apres avoir lancé la tâche, j'obtiens le message suivant:
"Exécuter une tâche cron
Sortie de la commande /usr/mes_scripts/scriptimportfichierfeuilles.php ..
Aucune sortie générée"
N'y connaissant pas grand chose en Php ( C'est un métier, çà, dites-donc ! ), j'ai voulu me cantonner à un script simple; par exemple, pour l'import:
#!/usr/local/bin/php -q
<?php
$link = mysql_connect("xx.xxx.x.xxx", "root", "xxxxxx");
mysql_select_db("name_db", $link) or die(mysql_error());
$query = LOAD DATA INFILE '/tmp/feuilles.txt' INTO TABLE `feuille`;
mysql_close($link);
?>
Les droits de tous les fichiers concernés ont été modifiés, et le serveur (dédié) fonctionne sous Redhat (Ovh).
Quitte à me traiter d'âne, une Bonne Âme pourrait-elle au moins me dire si je suis sur la bonne voie (Ah, juste une P'tite erreur quelque part, une p'tite virgule ? ), ou si toute ma procédure est completement tordue (Arghhh !!).
D'avance, Merci de m'avoir lu. Et un Super Merci à ceux qui me re-liront en essayant de trouver ce qui cloche.
Code : Tout sélectionner
- phpMyAdmin SQL Dump
-- version 2.7.0-pl2
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Samedi 19 Juillet 2008 à 19:03
-- Version du serveur: 4.1.13
-- Version de PHP: 4.4.4
( Pas bien compris là,

)
Bonjour à Tous,
J'ai besoin d'automatiser certaines tâches (pour partir en vacances l'esprit tranquille, oui hum bon...)
-Rechercher des enregistrements dans une base MySql
-Les copier dans une autre
D'après tout ce que j'ai pu lire, le seul moyen est de passer par une tâche Cron, qui fait appel à un script php.
J'ai fait les scripts Mysql suivants:
1:)ENREGISTREMENT DES FEUILLES CHERCHÉES :
[code]SELECT * INTO OUTFILE '/tmp/feuilles.txt' FROM `feuille` WHERE `agence_voyage_id` <7 AND `dates` = DATE_ADD( CURDATE( ) , INTERVAL 1 DAY ) LIMIT 0 , 3000[/code]
2:)UPLOAD DU FICHIER :
[code]LOAD DATA INFILE '/tmp/feuilles.txt' INTO TABLE `feuille`[/code]
Les 2 scripts fonctionnent dans PhPMyAdmin
Et une petite tache Cron me supprime automatiquement le fichier txt.
Tout çà, çà marche, ouf. Çà c'est fait.
Là ou je transpire depuis 2 jours, c'est dans la fabrication des scripts Php. J'ai tout essayé, à l'endroit, à l'envers, avec des -q, avec des ' et des '' partout, en Francais , en Anglais, rien ne marche. Au mieux, dans mon Webadmin, apres avoir lancé la tâche, j'obtiens le message suivant:
"Exécuter une tâche cron
Sortie de la commande /usr/mes_scripts/scriptimportfichierfeuilles.php ..
Aucune sortie générée"
N'y connaissant pas grand chose en Php ( C'est un métier, çà, dites-donc ! ), j'ai voulu me cantonner à un script simple; par exemple, pour l'import:
[php]#!/usr/local/bin/php -q
<?php
$link = mysql_connect("xx.xxx.x.xxx", "root", "xxxxxx");
mysql_select_db("name_db", $link) or die(mysql_error());
$query = LOAD DATA INFILE '/tmp/feuilles.txt' INTO TABLE `feuille`;
mysql_close($link);[/php]
?>
Les droits de tous les fichiers concernés ont été modifiés, et le serveur (dédié) fonctionne sous Redhat (Ovh).
Quitte à me traiter d'âne, une Bonne Âme pourrait-elle au moins me dire si je suis sur la bonne voie (Ah, juste une P'tite erreur quelque part, une p'tite virgule ? ), ou si toute ma procédure est completement tordue (Arghhh !!).
D'avance, Merci de m'avoir lu. Et un Super Merci à ceux qui me re-liront en essayant de trouver ce qui cloche.
[code]- phpMyAdmin SQL Dump
-- version 2.7.0-pl2
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Samedi 19 Juillet 2008 à 19:03
-- Version du serveur: 4.1.13
-- Version de PHP: 4.4.4[/code]
[code]CREATE TABLE[/code] ( Pas bien compris là, :-))