Bonjour,
D'un faible niveau en batch, j'ai commencé à écrire un script de sauvegarde. Celui-ci sauvegarde une base de données, compresse le fichier et le sauvegarde par FTP.
Au départ, j'ai fait une vérification via le fichier log renvoyé par le FTP de la manière suivante :
Cela fonctionne très bien à priori. Mais certains fichiers sont très gros (10 Go) et donc j'ai donc rajouté un découpage des fichiers à uploader.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 echo user xxxx> ftpcmd.tmp echo xxxx>> ftpcmd.tmp echo prompt>> ftpcmd.tmp echo bin>> ftpcmd.tmp echo put *.7z>> ftpcmd.tmp rem un seul fichier à uploader mais de nom variable donc j'ai mis *.7z par facilité echo quit>> ftpcmd.tmp ftp -n -s:ftpcmd.tmp ftp.ftp.com >> bak-%date_cre:~6,4%%date_cre:~3,2%%date_cre:~0,2%-%heure: =0%.log rem variables date_cre et heure définies en amont en fonction de la date et de l'heure). del ftpcmd.tmp find /c "226 T" bak-%date_cre:~6,4%%date_cre:~3,2%%date_cre:~0,2%-%heure: =0%.log rem recherche sur la chaîne 226 T qui peut être 226 Téléchargement terminé ou 226 Transfer complete if errorlevel 1 goto err_transf set err=0 del *.7z goto fin_trait_err :err_transf set err=1 :fin_trait_err
Pour faire mon upload, je passe donc par une boucle :
Mais cela ne fonctionne pas. Si quelqu’un peut m'aider. Et si éventuellement vous avez un bon ouvrage à me conseiller, car oui je trouve des infos sur internet, mais de manière disséminée, et comme je vais sûrement devoir en faire d'autres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 for %%X in (*.7z.*) do ( set err=0 echo user xxxx> ftpcmd.tmp echo xxxx>> ftpcmd.tmp echo prompt>> ftpcmd.tmp echo bin>> ftpcmd.tmp echo put %%X>> ftpcmd.tmp echo quit>> ftpcmd.tmp ftp -n -s:ftpcmd.tmp 69901.fr02.ikeepincloud.com > ftp.log del ftpcmd.tmp set err=0 find /c "226 T" ftp.log if errorlevel 1 set err=1 if %err% equ 0 del %%X del ftp.log if %err% equ 1 goto fin_inc )
Merci d'avance à tous.
Partager