OCS: reconstruire un paquet pour déploiement.

de | 27/09/2012

Pour ceux qui utilisent OCS, vous savez qu’il est possible de découper le fichier zip pour déployer vos paquets (logiciels) s’il est trop gros. Si comme moi il vous arrive d’avoir besoin de retravailler un paquet mais que vous n’avez plus l’original sous la main, vous pouvez le récupérer sur le serveur OCS.

Pour cela vous devez aller dans la partie Déploiement puis activation de paquet.
Là vous cliquez sur le nom du paquet que vous voulez récupérer. Vous trouverez le lien du répertoire contenant TOUS les paquet dans la colonne « Serveur de fichiers ». Le répertoire de votre paquet est dans la colonne « Timestamp ».
Dans votre navigateur internet vous pouvez télécharger TOUS les morceaux de votre fichiers zip. Les morceaux auront pour nom le nom du répertoire suivit d’un nombre.

exemple:
mon logiciel d’origine a été découpé en 20 morceaux par OCS. Puis renommé en 1348662288 (c’est le Timestamp). Sur le serveur OCS j’aurai un répertoire 1348662288 dans lequel j’aurai tous mes morceaux nommés en 1348662288-1, 1348662288-2, 1348662288-3,… , 1348662288-20

Pour reconstruire mon zip d’origine, il faudra scripter l’action et mettre le batch dans le répertoire ou sont téléchargés tous les morceaux du paquet.

copy /b "1347892724-1"+"1347892724-2"+"1347892724-3"+.................+"1347892724-19"+"1347892724-20" "monLogiciel.zip"

Vous double cliquez sur le batch et voila votre zip d’origine.

Pour les fainéants voici mon petit programme: –> Télécharger <–

Code complet:

@echo off
cls

TITLE Téléchargement paquet OCS

set server=
set timestamp=

:serveur
cls
SET /P server= Serveur de fichiers: 
if "%server%"=="" goto serveur

echo.
:timestamp
SET /P timestamp= Timestamp du paquet: 
if "%timestamp%"=="" goto timestamp

cls

:: Création d'un répertoire pour le téléchargement
if "%1"=="" (
set paquets=paquets
) else (
set paquets=%1\paquets
)
if not exist "%paquets%" mkdir "%paquets%"

:: Téléchargement de tous les morceaux du paquet
wget -P "%paquets%" -nH -nd -r -np %server%/%timestamp%/ --reject=html

:: Suppression du fichier info (inutile pour la suite)
if exist "%paquets%\info" del /Q "%paquets%\info"

:: Régénération du paquet zippé
echo.
echo.
echo Reconstruction du paquet sous format zip... patientez
echo.
for /f  %%a in ('dir "%paquets%" /b ^| find /v /c "::"') do set nbFile=%%~a
set chaine="%timestamp%-1"
set i=2

:debut
if %i% LEQ %nbFile% (
set chaine=%chaine%+"%timestamp%-%i%"
set /a i+=1
goto debut
)

cd /d "%paquets%"
copy /b %chaine% "%timestamp%.zip" >nul
del /Q %timestamp%-*

::end

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*