[Informatique] Zipper un fichier en commande dos (.bat)
#1
Posté 12 janvier 2012 - 20:39
En tant que bonne geekette, et aussi un peu pour les cours, j'ai écris un script en batch qui me permet de sauvegarder ma BDD mysql (wordpress) dans un dossier de sauvegarde. Maintenant que j'ai parametré le zippage de ce même fichier j'aimerais pourvoir ensuite faire un envois par ftp sur un serveur web distant.
Voici la première partie de mon script (je commente bien tout pour vous aider) :
@echo off
rem setlocal fait que les variables créées dans ce script seront désallouées à la fin du script.
setlocal
rem ----------------------------------------------------
rem Sauvegarde de le base mysql en effectuant un dump
rem Mettre ici le répertoire du programe mysqldump.exe
set chemin_mysql=C:\wamp\bin\mysql\mysql5.5.16\bin
rem
rem Mettre ici le répertoire où l'on veut stocker les fichiers dump
set destination=G:\Sauvegardes\Appli\
rem
rem On lance la sauvegarde avec les paramètres
%chemin_mysql%\mysqldump -h localhost --user=root --password= -B wordpress > %destination%\sauvegarde_wordpress.sql
rem ----------------------------------------------------
rem compression en .zip du fichier créé
cd C:\Backup_Utilities\7-zip\
7z a sauvegarde_wordpress.zip %destination%\sauvegarde_wordpress.sql
rem ----------------------------------------------------
rem déplacement et renommage du fichier
rem on met la date formatée comme on le souhaite dans une variable datejour
set datejour=%date:~6,4%-%date:~3,2%-%date:~0,2%.zip
rem on "deplace" le fichier d'origine vers le fichier avec le bon nom
move C:\Backup_Utilities\7-zip\sauvegarde_wordpress.zip G:\Sauvegardes\Appli\%datejour%
Pour l'envois via ftp je suis toute ouïe x)
#2
Posté 12 janvier 2012 - 20:52
Nan mais bon je suis déjà dehors
#4
Posté 12 janvier 2012 - 21:08
Modifié par Tatie Choukette-sama, 12 janvier 2012 - 21:09.
#5
Posté 12 janvier 2012 - 21:19
Pierrick sera sans doute t'aider (ou Stevens)
#6
Posté 12 janvier 2012 - 23:34
EDIT : je pensais que c'était du linux, je connais pas trop la syntaxe windows pour lu batch mais j'ai trouvé ça :
http://www.commentca...gne-de-commande
#7
Posté 13 janvier 2012 - 17:28
Et avec du linux ça aurait été tellement plus simple, j'ai des amis un peu intégristes qui m'ont carrément suggéré d'installer une debian, le problème c'est que mon tp porte sur windaube et non sur linux.
Je posterais demain mon .bat pour le ftp je pense.
#8
Posté 14 janvier 2012 - 19:00
Le but du premier est de faire une sauvegarde automatiques des données d'un poste client sur un espace disque donné ici S:\"L'utilisateur"\"Date du jour".zip (date du jour formatée en aaaa-mm-jj) et on éteinds automatiquement le PC à la fin
Le S:\ pointe sur l'espace D:\Sauvegardes\ du serveur où se trouve ma base de données:
rem @ echo off désactive l'affichage des commandes sur le shell
@ echo off
rem on met la date formatée comme on le souhaite dans une variable datejour
set datejour=%date:~6,4%-%date:~3,2%-%date:~0,2%
rem compression en .zip du dossier mes documents
cd C:\Backup_Utilities\7-zip\
7z a %datejour%.zip %userprofile%\documents
rem ----------------------------------------------------
rem déplacement du fichier vers le dossier de sauvegarde
xcopy C:\Backup_Utilities\7-zip\%datejour%.zip S:\%username%\ /M
rem ----------------------------------------------------
rem suprimer le fichier zip restant dans le dossier 7-zip
del %datejour%.zip
rem ----------------------------------------------------
rem on éteinds le PC
shutdown
Le second script lui me permet de sauvegarder une base sql à l'aide de l'outil mysqldump, et d'ensuite la zipper pour l'envoyer vers un emplacement spécifique ici D:\Sauvegardes\Appli\ avec comme nom la date du jour formatée en aaaa-mm-jj:
@ echo off
rem setlocal fait en sorte que les variables créées dans ce script seront désallouées à la fin du script. ça évite de mettre la drouille dans les autres scripts
setlocal
rem ----------------------------------------------------
rem Ce batch a pour but de sauvegarder des bases mysql en effectuant un dump
rem Mettre ici le répertoire du programe mysqldump.exe
set chemin_mysql=C:\wamp\bin\mysql\mysql5.5.16\bin
rem
rem Mettre ici le répertoire où l'on veut stocker les fichiers dump
set destination=D:\Sauvegardes\Appli\
rem On lance la sauvegarde avec les paramètres
%chemin_mysql%\mysqldump -h localhost --user=XXXX --password=XXXX -B NomDeLaBaseAsauvegarder > %destination%\sauvegarde_wordpress.sql
rem ----------------------------------------------------
rem compression en .zip du fichier créé
cd C:\Backup_Utilities\7-zip\
7z a sauvegarde_wordpress.zip %destination%\sauvegarde_wordpress.sql
rem ----------------------------------------------------
rem déplacement et renommage du fichier
rem on met la date formatée comme on le souhaite dans une variable datejour
set datejour=%date:~6,4%-%date:~3,2%-%date:~0,2%.zip
rem on "deplace" le fichier d'origine vers le fichier avec le bon nom
move C:\Backup_Utilities\7-zip\sauvegarde_wordpress.zip D:\Sauvegardes\Appli\%datejour%
Et enfin le script qui me permet d'envoyer le dossier D:\Sauvegardes\ sur un serveur web distant:
Il faut d'abord crée un fichier .txt avec les options de connexion ici connexionftp.
Connexion ftp contient:
L'user
Le password
cd [dossier dans lequel on veux copier les fichiers]
pwd
put C:\Backup_Utilities\7-zip\sauvegardes.zip
quit
pwd permet de vérifier qu'on est dans le bon répertoire et quit permet de se déconnecter du ftp une fois le transfert terminé.
Ensuite voici le script en bacth
@ echo off
rem compression en .zip du dossier mes documents
cd C:\Backup_Utilities\7-zip\
7z a sauvegardes.zip D:\Sauvegardes
rem ----------------------------------------------------
rem envois au serveur web via ftp en utilisant le fichier de connexion ftp
cd C:\Backup_Utilities\
ftp -s:connexionftp.txt ftp.nomdelhote.fr
rem supression du fichier zip précédement copié
del 7-zip\sauvegardes.zip
Modifié par Tatie Choukette-sama, 14 janvier 2012 - 19:02.
#9
Posté 15 janvier 2012 - 00:29
#10
Posté 15 janvier 2012 - 23:05
#11
Posté 16 janvier 2012 - 21:44
Le batch est plutôt facile, voir agréable. J'aime bien ce genre de langage.
#12
Posté 20 janvier 2012 - 19:03
Je suis d'accord avec toi le batch c'est assez facile sinon je n'aurais pas réussi à faire cette pti
#13
Posté 20 janvier 2012 - 20:26
J'ai fais STI élec au bac, puis BTS Réseau / Dev puis GSI (gestion système d'informations)
#14
Posté 24 janvier 2012 - 19:46
#15
Posté 24 janvier 2012 - 21:09
Voir en alternance, ça peut te faire une première embauche.
0 utilisateur(s) li(sen)t ce sujet
0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)






