Aide [Script Shell]

Fermé
alexis - 16 nov. 2010 à 17:21
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 16 nov. 2010 à 17:35
Bonjour,

Je souhaite créer un programme shell qui me permet de faire monter en charge la machine.
Je suis parti sur le principe de de faire un tar du fichier noc de le déplacer dans un dossier particulier et suite une boucle qui me permet de tar et détar x fois.

Voici le script :
----------------------------------------------------------------------------------------
#!/usr/bin/bash
$i=0

cd /
#pour pouvoir executer le tar en dehors du noc

tar -cvzf noc2.tar.gz /noc/*
#archive le dossier noc en noc2.tar.gz

mv noc2.tar.gz /home/caisse01/
#déplace le noc2 dans /home/caisse01

cd /home/caisse01/

mkdir /home/caisse01/noctest

while [i<2]; do

tar -xvzf noc2.tar.gz /home/caisse01/noctest
#extrait le noc dans /home/caisse01/noctest

rm /home/caisse01/noc2.tar.gz
#supprime l'ancienne archive

tar -cvzf noc2.tar.gz /home/caisse01/noctest/ | dd of=/home/caisse01/
#archive le répertoire /home/caisse01/noctest/*.* dans /home/caisse01

rm /home/caisse01/noctest/*
#supprime les documents contenus dans noctest

i=$(( ${i} + 1 ))

done

rm /home/caisse01/noc2.tar.gz
rm -r /home/caisse01/noctest
#supprime le dossier noctest et sont contenu

echo "test terminé."
----------------------------------------------------------------------------------------------------

Le problème c'est que j'ai toujours une erreur -bash: 2]: No such file or directory à la fin de mon tar du coup il passe la boucle et atterrit directement sur la suppression et l'écho.


Du coup j'ai testé avec une boucle until [i=2] mais à la place j'ai une erreur qui boucle :(

-bash: [i=2]: command not found
tar: /home/caisse01/noctest: ne peut être retrouvé dans l'archive.
tar: Statut d'erreur reporté d'erreurs précédentes.
rm: détruire fichier régulier '/home/caisse01/noc2.tar.gz'? y
tar: Removing leading '/' from member names
dd: ouverture de '/home/caisse01/': Is a directory
rm: ne peut évaluer par lstat() '/home/caisse01/noctest/*': No such file or directory
------------------------------------------------------------------------------------------------------


Le pauvre néophyte que je suis commence à devenir fou et a grand besoin de vous ;)
Merci d'avance,
Alexis.
A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 412
16 nov. 2010 à 17:35
Salut,

i=0
while [ "$i" -lt 2 ]
...
((i++))
0