Pour tous ceux qui ont un hébergement mutualisé chez OVH, je pense que cette classe PHP pourrait bien vous servir. Celle-ci permet d'extraire les logs Apache access/error, FTP, CGI, Out et SSH accessibles sur https://logs.ovh.net afin de les télécharger sur l'espace de votre hébergement. Utile si on a besoin d'un accès direct aux logs mais aussi pour avoir un historique car OVH supprime les logs au bout d'un certain temps.
La classe se chargera de parcourir la liste des logs par année, mois ainsi que par type (web, error, ftp, cgi, out, ssh) et vous les rangera dans des dossiers triés par date comme vous pouvez le voir sur l'image ci-dessus.
Vous pouvez télécharger gratuitement CwsOvhLogsDownloader sur GitHub. Si vous rencontrez des problèmes ou si avez des idées d'améliorations, merci de poster une issue sur GitHub.
MISES A JOUR DE L'ARTICLE |
Excellent, j'ai cherché un trux du genre depuis quelques temps !
Super script par contre il n'y a aucune info dans le READ ME sur les droits pour la fonction mkdir. J'ai du modifier la fonction procDownload en remplaçant mkdir($path, 0, true); par mkdir($path, 0755, true);
Sinon je n'accède pas au dossier en FTP
En tout cas merci, 1 an de log en 30sec!!!!
Super !!! vraiment ...
mais le fopen refuse de faire son boulot .... :-(
Warning: fopen(logs/2013/06/web-2013-06-03.log.gz) [function.fopen]: failed to open stream: Permission denied
une idée ?
autant pour moi, ça fonctionne, je n'avais pas correctement renseigné le dl_path :-)
ce script est génial ! merci !
Merci pour ce travail.
Je n'ai pas accès aux error logs.
J'ai accès aux logs ftp et apache, mais c'est l'error log que j'ai besoin.
Merci d'avance pour votre réponse et Joyeux Noël.
Bonsoir
je viens de tenter d'exécuter votre exemple sur le site OVH mais rien ne se passe.
mon installation :
copie sans modification des fichiers dézipés dans le répertoire qui contient mes scripts:
class.cws.curl.php
class.cws.debug.php
class.cws.dump.php
class.cws.ovhld.php
copie du fichier example qui se trouvait dans le fichier CwsOvhLogsDownloader-master.zip
puis renseignement dans ce fichier example des variables :
$cwsOvhLogsDownloader->setNic('xxx-ovh'); // The OVH NIC-handle (e.g. AB1234-OVH)
$cwsOvhLogsDownloader->setPassword('xxxxx'); // The OVH NIC-handle password
$cwsOvhLogsDownloader->setDomain('xxx.fr'); // Your OVH domain (e.g. crazyws.fr)
$cwsOvhLogsDownloader->setDlPath('logs/'); // The download directory (default 'logs/')
Par contre je n'ai rien compris quant à l'activation de CURL et n'ai donc rien fait pour cela
Lorsque je lance le script example.php je ne vois que l'image example.png contenue dans le fichier wsOvhLogsDownloader-master.zip
j'ai essayé ce script en créant le répertoire logs depuis la racine visible en ftp (au même niveau que www
ainsi qu'à tous les niveaux jusqu'au répertoire contenant le script : je ne vois que l'image example.png
j'ai ensuite tenté le test après avoir supprimé tous les répertoires log : je ne vois que l'image example.png
j'ai enfin tenté ce même test en mettant un password faux : je ne vois que l'image example.png
Pourriez-vous m'aider?
Merci
J'ai honte !
En prenant le temps j'ai relu le contenu du script example.php et j'ai alors immédiatement vu que les fichiers des classes se trouvaient dans des répertoires différents.
En déplaçant ces fichiers vers un répertoire commun (lib pour moi) j'ai pu avancer un peu.
1 er lancement je me rends compte que je n'avais pas déplacé le fichier cws.dump.ini.
C'est maintenant chose faite.
avec la ligne '$logs = $cwsOvhLogsDownloader->getLogsWeb();' dans le script example.php j'obtiens maintenant un beau dump de la liste des fichiers logs, dont voici un extrait :
getLogs
Type : web
Date : /
procRootLogs
result
array (length=6)
0 => string 'web-10-2015' (length=13)
1 => string 'web-11-2015' (length=13)
2 => string 'web-12-2015' (length=13)
3 => string 'web-01-2016' (length=13)
4 => string 'web-02-2016' (length=13)
5 => string 'web-03-2016' (length=13)
procDownload
result
array (length=3)
'count' => int 149
'size' => string '0Ko' (length=5)
'time' => float 4.2590000000000003
Final result
result
array (length=3)
'type' => string 'web' (length=5)
'download' =>
array (length=3)
'count' => int 149
'size' => string '0Ko' (length=5)
'time' => float 4.2590000000000003
'logs' =>
array (length=6)
'10-2015' =>
array (length=16)
0 => string '16-10-2015.log.gz' (length=19)
1 => string '17-10-2015.log.gz' (length=19)
2 => string '18-10-2015.log.gz' (length=19)
3 => string '19-10-2015.log.gz' (length=19)
4 => string '20-10-2015.log.gz' (length=19)
5 => string '21-10-2015.log.gz' (length=19)
6 => string '22-10-2015.log.gz' (length=19)
7 => string '23-10-2015.log.gz' (length=19)
8 => string '24-10-2015.log.gz' (length=19)
9 => string '25-10-2015.log.gz' (length=19)
10 => string '26-10-2015.log.gz' (length=19)
11 => string '27-10-2015.log.gz' (length=19)
12 => string '28-10-2015.log.gz' (length=19)
13 => string '29-10-2015.log.gz' (length=19)
14 => string '30-10-2015.log.gz' (length=19)
15 => string '31-10-2015.log.gz' (length=19)
'11-2015' =>
array (length=30)
'
c'est tout pour l'instant (pas encore de récupération des fichiers logs), je poursuis mes investigations....