Bonjour, j'aimerai faire des statistiques à propos de mon site et je voudrais savoir si il existe un moyen de pouvoir télécharger des logs ou les sauvegarder chaque semaine avec du PHP ou un script shell?
Je voudrais en fait avoir les stats de tout un mois voire deux mais je ne peux pas toujours téléchargé les logs donc récupérer simplement avec un script shell ou PHP pourrait être pratique
Même si ce que je demande est probablement impossible je tente quand même ! Merci !!
[R]télécharger les log sans passer par le panel
[R]télécharger les log sans passer par le panel
Modifié en dernier par kagescan le 15 avr. 2018 12:01, modifié 1 fois.
- Simon Le Guével
- Administrateur
- Messages : 1307
- Enregistré le : 04 sept. 2010 12:30
- Compte LegTux : simon
- Localisation : Saint-Brieuc
- Contact :
Re: télécharger les log sans passer par le panel
Bonsoir,
Ça devrait pouvoir se faire, je vais vous faire ça !
Simon
Ça devrait pouvoir se faire, je vais vous faire ça !
Simon
Re: télécharger les log sans passer par le panel
Bonjour.
Voila un script php qui permet de récupérer les log sans passer par le panel.
Il suffit de renseigner votre identifiant et mot de passe en début de script.
Le script va récupérer les log de la semaine: access.log et les logs de la semaine dernière; access_hold.log.
le script est également dispo ici: https://github.com/steneor/get-log-legtux
Cdlt
Voila un script php qui permet de récupérer les log sans passer par le panel.
Il suffit de renseigner votre identifiant et mot de passe en début de script.
Le script va récupérer les log de la semaine: access.log et les logs de la semaine dernière; access_hold.log.
le script est également dispo ici: https://github.com/steneor/get-log-legtux
Cdlt
Code : Tout sélectionner
<?php
// connexion à legtux via la page de login
$login = "identifiant"; // ici votre identifiant
$password = "motdepasse"; // ici votre mot de passe
$url = "https://www.legtux.org/";
$cookie = "cookie.txt";
$timeout = 60;
$nom_local_zip = "log.zip";
$postdata = "login=" . $login . "&password=" . $password ;
$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, $url . "index.php?page=connec" );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt ( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" );
curl_setopt ( $ch, CURLOPT_TIMEOUT, $timeout );
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 0 );
curl_setopt ( $ch, CURLOPT_HEADER, 0);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookie );
curl_setopt ( $ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ( $ch, CURLOPT_REFERER, $url . "index.php" );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $postdata );
curl_setopt ( $ch, CURLOPT_POST, 1 );
$result = curl_exec ( $ch );
$result = curl_exec ( $ch );
curl_setopt ( $ch, CURLOPT_POST, 0 );
// fin de connexion, on ne ferme pas la curl en cours pour l'utiliser aprés
// récupération du fichier de log_user_YYYMMDD_hhmm.zip
//////////////////////////log de cette semaine: access.log ///////////////////////////////
curl_setopt ( $ch, CURLOPT_URL, $url . "member/apache_log.php" );
if ( $nom_local_zip ) {
$fp = fopen( $nom_local_zip, 'w+b' ) or die( "Le fichier '$nom_local_zip' n'a pu etre ouvert en ecriture" );
curl_setopt( $ch, CURLOPT_FILE, $fp );
} else {
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
}
$ret = curl_exec( $ch );
if ( $nom_local_zip ) {
fclose( $fp );
}
if ( $ret === false ) {
die( "Une erreur a été rencontrée : " . curl_error() );
}
// décompression de l'archive zip
$zip = new ZipArchive;
$zip->open($nom_local_zip);
$zip->extractTo('./');
$zip->close();
//////////////////////////log de la semaine dernière: access ///////////////////////////////
curl_setopt ( $ch, CURLOPT_URL, $url . "member/apache_log_old.php" );
if ( $nom_local_zip ) {
$fp = fopen( $nom_local_zip, 'w+b' ) or die( "Le fichier '$nom_local_zip' n'a pu etre ouvert en ecriture" );
curl_setopt( $ch, CURLOPT_FILE, $fp );
} else {
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
}
$ret = curl_exec( $ch );
if ( $nom_local_zip ) {
fclose( $fp );
}
if ( $ret === false ) {
die( "Une erreur a été rencontrée : " . curl_error() );
}
// décompression de l'archive zip
$zip = new ZipArchive;
$zip->open($nom_local_zip);
$zip->extractTo('./');
$zip->close();
curl_close( $ch ); //on ferme la curl
//nettoyage: efface les fichiers intermédiaires
unlink($cookie);
unlink($nom_local_zip);
//affiche la liste des fichiers dans le repertoire
$rep = opendir( "./");
chdir( "./");
while ( $file = readdir( $rep ) ) {
if ( $file != '..' && $file != '.' && $file != '' ) {
if ( ( $file ) ) {
echo "<a href=$file target=_blank>$file</a><br>";
}
}
}
closedir( $rep );
?>
Re: télécharger les log sans passer par le panel
Salut merci braucoup pour ta réponse !
Au final, je n'en ai plus besoin (j'ai préféré m'en passer et respecter la vie provée de mes visiteurs) mais merci quand même pour avoir passé du temps pour l'écrire !
Sujet [R]
Au final, je n'en ai plus besoin (j'ai préféré m'en passer et respecter la vie provée de mes visiteurs) mais merci quand même pour avoir passé du temps pour l'écrire !
Sujet [R]