Bat >log
Fermé
techinfo46
Messages postés
383
Date d'inscription
jeudi 23 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2020
-
Modifié par techinfo46 le 31/12/2010 à 14:06
Zeddo Messages postés 75 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 5 mars 2015 - 31 déc. 2010 à 15:47
Zeddo Messages postés 75 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 5 mars 2015 - 31 déc. 2010 à 15:47
A voir également:
- Bat >log
- Fichier bat - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- .Bat linux ✓ - Forum Linux / Unix
- Pokemon qui bat qui ✓ - Forum Pokémon
- Exécuter un fichier bat automatiquement - Forum Autoit / batch
5 réponses
Zeddo
Messages postés
75
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
5 mars 2015
15
31 déc. 2010 à 14:07
31 déc. 2010 à 14:07
Bonjour,
Si ton script ne fait pas 100 lignes, tu pourrais le copier entièrement stp ?
Si ton script ne fait pas 100 lignes, tu pourrais le copier entièrement stp ?
techinfo46
Messages postés
383
Date d'inscription
jeudi 23 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2020
55
Modifié par techinfo46 le 31/12/2010 à 14:13
Modifié par techinfo46 le 31/12/2010 à 14:13
bonjour et merci de m'avoir répondu si vite
voicii le sauve.bat
----------------------------------sauve.bat---------------------------------------------------
SET J=%date:~-10,2%
SET A=%date:~-4%
SET M=%date:~-7,2%
SET H=%time:~0,2%
SET MN=%time:~3,2%
SET S=%time:~-5,2%
IF "%time:~0,1%"==" " SET H=0%HEURE:~1,1%
SET SAUV=C:\sauv
SET ENVOIE=C:\sauv\envoie
SET CACHE=C:\sauv\cache$
SET FICHIER=%SAUV%\Noah-%A%-%M%-%J%.bck
IF NOT exist "%SAUV%" md "%SAUV%"
cd C:\Program Files\Microsoft SQL Server\90\Tools\Binn
sqlcmd -S %computername%\HIMSA -Q "BACKUP DATABASE NOAHSystem TO DISK = N'%FICHIER%' WITH INIT, NAME = N'Sauvegarde automatique de la base de données', STATS = 1"
IF NOT exist "%ENVOIE%" md "%ENVOIE%"
cd C:\Program Files\7-Zip
7z a c:\sauv\envoie\%computername%.7z c:\sauv\*.bck
IF NOT exist "%CACHE%" md "%CACHE%"
cd \sauv\envoie
xcopy /y *.7z \sauv\cache$
c:\sauv\sauve.bat > c:\sauv\envoie\%computername%.log
cd c:\sauv\envoie\
ftp -s:ftp.txt
cd c:\sauv\envoie\
del %computername%.7z
del %computername%.log
cd c:\sauv\
del *.bck
exit
-----------------------------------fin du fichier sauve.bat------------------------------
voicii le sauve.bat
----------------------------------sauve.bat---------------------------------------------------
SET J=%date:~-10,2%
SET A=%date:~-4%
SET M=%date:~-7,2%
SET H=%time:~0,2%
SET MN=%time:~3,2%
SET S=%time:~-5,2%
IF "%time:~0,1%"==" " SET H=0%HEURE:~1,1%
SET SAUV=C:\sauv
SET ENVOIE=C:\sauv\envoie
SET CACHE=C:\sauv\cache$
SET FICHIER=%SAUV%\Noah-%A%-%M%-%J%.bck
IF NOT exist "%SAUV%" md "%SAUV%"
cd C:\Program Files\Microsoft SQL Server\90\Tools\Binn
sqlcmd -S %computername%\HIMSA -Q "BACKUP DATABASE NOAHSystem TO DISK = N'%FICHIER%' WITH INIT, NAME = N'Sauvegarde automatique de la base de données', STATS = 1"
IF NOT exist "%ENVOIE%" md "%ENVOIE%"
cd C:\Program Files\7-Zip
7z a c:\sauv\envoie\%computername%.7z c:\sauv\*.bck
IF NOT exist "%CACHE%" md "%CACHE%"
cd \sauv\envoie
xcopy /y *.7z \sauv\cache$
c:\sauv\sauve.bat > c:\sauv\envoie\%computername%.log
cd c:\sauv\envoie\
ftp -s:ftp.txt
cd c:\sauv\envoie\
del %computername%.7z
del %computername%.log
cd c:\sauv\
del *.bck
exit
-----------------------------------fin du fichier sauve.bat------------------------------
Zeddo
Messages postés
75
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
5 mars 2015
15
31 déc. 2010 à 14:40
31 déc. 2010 à 14:40
Mais de rien pour la vitesse de réponse. Je passais par la à ce moment :)
Par contre, je ne suis pas une brute en scripting, mais on va voir...
J'aurais pensé que ton script bloquait avant, à la ligne cd C:\Program Files\Microsoft SQL Server\90\Tools\Binn
Le dos et les bat n'aiment pas les espaces dans les chemins, j'aurais mis plutôt
cd "C:\Program Files\Microsoft SQL Server\90\Tools\Binn".
Mais si tu es sur qu'il passe cette étape.. étrange mais pourquoi pas^^
idem pour cd C:\Program Files\7-Zip -> cd "C:\Program Files\7-Zip"
cd \sauv\envoie -> il ne manque pas le lecteur ? (cd c:\sauv\envoie )
Et en fait la, si j'ai bien compris, tu cherches à la fin à loguer les actions de ton script, puis à les envoyer via FTP.
Pour le log j'aurais procédé autrement (peut-être plus "sale" comme méthode, mais comme dit je ne suis pas un pro du scripting).
Essaye plutôt d'enlever cette ligne et de compléter chaque action dans ton script, comme ca (c'est un de mes scripts, le début car il est très long, et comme tu peux voir c'est plutôt simpliste) :
DEL journal.txt
echo Debut du travail le %date%, il est %time% > journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo Debut de la suppression de la sauvegarde J-2 a %time% >> journal.txt
RD /S /Q "D:\saveu\J-2" >> journal.txt
echo Fin de la suppression de la sauvegarde de J-2 a %time% >> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo Debut du backup de la sauvegarde de J-1 a %time% >> journal.txt
d:
cd\
cd saveu
rename J-1 J-2 >> journal.txt
echo Fin du backup de la sauvegarde de J-1 a %time% >> journal.txt
En fait je ne mets pas de chemin pour le fichier txt, il va se créer à côté du .bat.
Un seul ">" pour la création, 2 ">" pour le remplissage du fichier existant.
Par contre, je ne suis pas une brute en scripting, mais on va voir...
J'aurais pensé que ton script bloquait avant, à la ligne cd C:\Program Files\Microsoft SQL Server\90\Tools\Binn
Le dos et les bat n'aiment pas les espaces dans les chemins, j'aurais mis plutôt
cd "C:\Program Files\Microsoft SQL Server\90\Tools\Binn".
Mais si tu es sur qu'il passe cette étape.. étrange mais pourquoi pas^^
idem pour cd C:\Program Files\7-Zip -> cd "C:\Program Files\7-Zip"
cd \sauv\envoie -> il ne manque pas le lecteur ? (cd c:\sauv\envoie )
Et en fait la, si j'ai bien compris, tu cherches à la fin à loguer les actions de ton script, puis à les envoyer via FTP.
Pour le log j'aurais procédé autrement (peut-être plus "sale" comme méthode, mais comme dit je ne suis pas un pro du scripting).
Essaye plutôt d'enlever cette ligne et de compléter chaque action dans ton script, comme ca (c'est un de mes scripts, le début car il est très long, et comme tu peux voir c'est plutôt simpliste) :
DEL journal.txt
echo Debut du travail le %date%, il est %time% > journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo Debut de la suppression de la sauvegarde J-2 a %time% >> journal.txt
RD /S /Q "D:\saveu\J-2" >> journal.txt
echo Fin de la suppression de la sauvegarde de J-2 a %time% >> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo --------------------------------------------------------------------------------->> journal.txt
echo Debut du backup de la sauvegarde de J-1 a %time% >> journal.txt
d:
cd\
cd saveu
rename J-1 J-2 >> journal.txt
echo Fin du backup de la sauvegarde de J-1 a %time% >> journal.txt
En fait je ne mets pas de chemin pour le fichier txt, il va se créer à côté du .bat.
Un seul ">" pour la création, 2 ">" pour le remplissage du fichier existant.
techinfo46
Messages postés
383
Date d'inscription
jeudi 23 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2020
55
Modifié par techinfo46 le 31/12/2010 à 15:15
Modifié par techinfo46 le 31/12/2010 à 15:15
alor je vien de test cela ne fonctionne pas j'ai mi echo et le fichier txt comme toi sur la ligne:
sqlcmd: la commande ne fonctionne pas plus donc pas de sauvegarde de la base, et quand je fai appel au programme non plus par exmple ligne:
cd C:\Program Files\7-Zip
7z a c:\sauv\envoie\%computername%.7z c:\sauv\*.bck
sqlcmd: la commande ne fonctionne pas plus donc pas de sauvegarde de la base, et quand je fai appel au programme non plus par exmple ligne:
cd C:\Program Files\7-Zip
7z a c:\sauv\envoie\%computername%.7z c:\sauv\*.bck
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zeddo
Messages postés
75
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
5 mars 2015
15
31 déc. 2010 à 15:47
31 déc. 2010 à 15:47
les lignes Echo c'est pas une obligation, c'est juste pour faire plus "propre" dans le fichier log de sortie.
le > journal.txt ou >> journal.txt, théoriquement ya rien de plus simple. Pas d'options, etc... si c a la fin d'une ligne, elle sera loguée.
Par contre, si ta commande SQL marche pas.. la dsl je connais pas du tout les commandes sql sous dos.
Pour le 7z, si tu es sur de ta syntaxe 7z a c:\sauv\envoie\%computername%.7z c:\sauv\*.bck ? tu as mis le chemin entre guillemet ? cd "C:\Program Files\7-Zip"
Si tu veux tout tester dans ton script (ou presque... pas la ou il a des variables), tu copie colle dans une fenetre dos ton script ligne par ligne.
Par exemple si tu colles cd C:\Program Files\7-Zip , tu verras qu'il ne va pas dans le répertoire, du coup tu sais que la ligne est à corriger.
DSl pour la réponse un peu brouillon et rapide, je suis sorti du boulot, et la je dois me préparer pour ce soir.
Bon courage, bonne soirée, et à l'année prochaine^^
le > journal.txt ou >> journal.txt, théoriquement ya rien de plus simple. Pas d'options, etc... si c a la fin d'une ligne, elle sera loguée.
Par contre, si ta commande SQL marche pas.. la dsl je connais pas du tout les commandes sql sous dos.
Pour le 7z, si tu es sur de ta syntaxe 7z a c:\sauv\envoie\%computername%.7z c:\sauv\*.bck ? tu as mis le chemin entre guillemet ? cd "C:\Program Files\7-Zip"
Si tu veux tout tester dans ton script (ou presque... pas la ou il a des variables), tu copie colle dans une fenetre dos ton script ligne par ligne.
Par exemple si tu colles cd C:\Program Files\7-Zip , tu verras qu'il ne va pas dans le répertoire, du coup tu sais que la ligne est à corriger.
DSl pour la réponse un peu brouillon et rapide, je suis sorti du boulot, et la je dois me préparer pour ce soir.
Bon courage, bonne soirée, et à l'année prochaine^^