Nous sommes actuellement le 01 Juil 2026, 18:03

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 6 message(s) ] 
Auteur Message
MessagePublié: 19 Nov 2006, 22:09 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 25 Jan 2002, 06:05
Message(s) : 502
Localisation : Montréal
Salut,

Je n'ai pas beaucoup joué avec les batchs file si ce n'est pour des fonctions simples comme de la copie de fichier... Là j'esaye d'en développer une un peu plus avancée...

J'ai un dossier qui contient des fichiers logs de plusieurs backups (001.log, 002.log,003.log.... etc).

Chaque fichier contient des logs de plusieurs dates, à la fin de chaque backup, ce texte s'ajoute dans le log :
Code :
Nov-17 21:24:52            Job 5: Summary:
  Start Time:     11/17/06 21:00:12      End Time:         11/17/06 21:24:52
  Job Type:                  Backup      Media Name:               xxxxxxMON
  #Nodes Requested:               2      #Nodes Missed:                    0
  #Errors:                        0      #Warnings:                        0
  #Vol. Missed:                   0      #Succ./Incomp:                    5
  #Failed:                        0      #Miscompared:                     0
  --------------------------------------------------------------------------
  Source:             zzzzzzz/DATA:       Session No:                       1
  Backup Status:         Successful      Reason:
  Compare Status:        Compare OK      Reason:
  #Estimated Files:           18463      #Actual Files:                18463
  #Open Files:                    0      #Files Miscompared:               0
  #Errors:                        0      #Warnings:                        0
  --------------------------------------------------------------------------


Vous remarquerez deux choses qui m'intéressent particulièrement dans ce log :
- xxxxxxxMON : xxxx est une chaine qui peut changer, MON est la période du backup (mon, tue, wed... etc.)
- Backup Status : Peut prendre soit la valeur successful, soit failed et la raison de l'échec.
- Start time : Date et heure de départ du backup

Un même fichier log peut contenir deux ou trois fois la séquence MON (celui de la semaine passée et celui de la semaine actuelle)

Prenons l'exemple suivant :
- J'ai 3 fichiers logs : 001.log, 002.log, 003.log.
- Je cherche les statuts pour les backups de lundi.

Voici ce que je voudrais que le batch fasse :
1. Demande quelle période je veux, je réponds "MON"
2. Crée un nouveau fichier "summary.log"
3. Ouvre le premier log (001.log), et recherche dedans le DERNIER statut pour un backup MON (il peut y en avoir plusieurs)
4. Écrit dans le nouveau summary.log : "001.log : Nov-17 21:24:52 : Successful"
5. Reprend les étapes 2-3-4 pour chaque fichier log.

Au final, le fichier summary devrait ressembler à ça :
001.log : 11/17/06 21:00:12 : Successful
002.log : 11/17/06 21:00:12 : Media write error
003.log : 11/17/06 21:00:12 : Successful

Évidemment, il faudrait aussi prévoir le cas ou il ne trouve pas de résultat et mettre un statut 'impossible to retrieve data'

Je sais que j'ai l'air d'en demander beaucoup, mais je cherche en fait un point de départ. Quelques commandes utiles, quelques une de vos idées pour faire la recherche dans le log... Je ne cherche pas un code maché, juste des points de départ...

Merci,

Simo

_________________
Desktop : Core2 Duo E8600 3.33GHz - 8GB DDR3 - 2x NVIDIA GeForce 9600 GT - 3x Fujitsu 22" - Win7 Ultimate
Laptop - Asus V1V : Core2 Duo P8600 2.4GHz - 4GB DDR2 - ATI Mobility Radeo HD 3650 - Win7 Ultimate
Tablet - Asus Transformer Prime : NVIDIA Tegra 3 Quad-core - 1GB - Android ICS


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 22 Nov 2006, 02:25 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 25 Jan 2002, 06:05
Message(s) : 502
Localisation : Montréal
Re-Bonjour,

Je vois que mon thread n'a pas beaucoup de succès... Serait-il possible juste de me donner des commandes avec lesquelles je peux commencer à travailler. Quelque chose à me mettre sous la dent. Comment faire des recherches dans des fichiers texte? Comment copier quelque chose dans le clipboard et le "append" à un autre fichier?

J'ai fait des recherches sur Google mais on ne trouve pas beaucoup d'aide sur les batchs... Ce serait trop bête que je doive faire un script en PHP et le tourner sur un serveur juste pour ça :roll:

Merci,

Simo

_________________
Desktop : Core2 Duo E8600 3.33GHz - 8GB DDR3 - 2x NVIDIA GeForce 9600 GT - 3x Fujitsu 22" - Win7 Ultimate
Laptop - Asus V1V : Core2 Duo P8600 2.4GHz - 4GB DDR2 - ATI Mobility Radeo HD 3650 - Win7 Ultimate
Tablet - Asus Transformer Prime : NVIDIA Tegra 3 Quad-core - 1GB - Android ICS


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 22 Nov 2006, 10:01 
Hors-ligne
Répond à tout!
Répond à tout!
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 18:14
Message(s) : 2312
Localisation : Québec
En C, avec les fonction de file.

fopen, fclose ( dsl je ne me souviens plus du tout du non de ces fonction)

Mais ce sont tous implement des fonctions DOS.

Ce la marche si votre information se trouve tous le temps a la meme place.

Mettons tu pourrais ouvrir le fichier a la fin, pogner 800 char ( exemple)

Tu le copie ds un nouveau fichier etc.

_________________
Le Penguin, Membre des Forums de Micro.Info

1.Il y a de ces souffrances qui nous feront mal à tous jamais.
2.Le partage est notre force aucune loi ne pourra jamais nous empecher le partage en communauté! Len tu ne nous arretera pas!


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 22 Nov 2006, 21:43 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 25 Jan 2002, 06:05
Message(s) : 502
Localisation : Montréal
Ahem je ne suis pas très habile en C... Je pensais pouvoir faire ça directement dans un bat normal non compilé...

Est ce que je me fais des illusions en pensant que ça peut-être fait? Si vous me dites que ce n'est pas faisable, alors j'irais avec la solution PHP...

Sinon, pourriez-vous m'aider juste pour ces points de départ :
- Commande pour ouvrir un fichier
- Commande pour trouver un string dans le fichier (bonus si j'ai les paramètres pour trouver le dernier string)
- Commandes pour copier un string dans un fichier et le "append" dans un autre.

Et en réponse à la question, non le string recherché ne se retrouve pas toujours au même endroit.... Il peut être à 100car de la fin comme il peut être à 5000 car.

Merci,

Simo

_________________
Desktop : Core2 Duo E8600 3.33GHz - 8GB DDR3 - 2x NVIDIA GeForce 9600 GT - 3x Fujitsu 22" - Win7 Ultimate
Laptop - Asus V1V : Core2 Duo P8600 2.4GHz - 4GB DDR2 - ATI Mobility Radeo HD 3650 - Win7 Ultimate
Tablet - Asus Transformer Prime : NVIDIA Tegra 3 Quad-core - 1GB - Android ICS


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 23 Nov 2006, 00:07 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Un vbscript peut très bien faire l'affaire et assez simplement. Pour traiter les fichier il y a l'objet File System Objec (FSO).

Sinon pour rester en DOS, bonne lecture :
http://www.onesmartclick.com/programmin ... files.html
http://home7.inet.tele.dk/batfiles/msdos7/

Pour faire des append c'est du côté de la redirection (toto >> fichier.txt)
http://home7.inet.tele.dk/batfiles/msdo ... &pipes.htm

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Nov 2006, 11:32 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:30
Message(s) : 2934
Localisation : Ste-Foy
Si ça peut t'aider et te donner une piste:

Ca serait possible de sortir la variable (MON, par exemple) avec un %1 dans le batch file.

pour trouver la ligne exact, tu peux faire un " | find "%1" /i >>summary.txt " à la fin de la ligne, qui va t'envoiller le texte dans un document.

_________________
http://www.TnTConseil.com


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 6 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site