Bonjour,

Tout d'abord, merci d'avance pour le temps que vous m'aurez consacré.

J'aimerais savoir s'il existe une option sur AIX qui remplacerait l'option -I de la commande tar cvf sur Solaris ? Pour information, l'option -I permet d'inclure les fichiers contenus dans une liste sous forme d'un fichier .txt ou .csv.

Pour résumer : dans un script .ksh, je fais générer un second script qui va faire la sauvegarde des fichiers présents dans une liste, avec :
* genere_deploiement.sh le script de génération du script de déploiement,
* deploiement.sh, le script de déploiement,
* liste_files.csv, le fichier dans lequel il y a la liste des fichiers à sauvegarder.

Voici donc le code de genere_deploiement.sh sous Solaris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
# Declaration des variables
#--------------------------------------------------
LSTFILE=liste_files.csv
SCRDEPL=deploiement.sh
 
# Traitement
echo "echo \"$(cat $LSTFILE)\" | tr ' ' '
' > liste_files.txt"    > $SCRDEPL
echo "tar cvf BackUp.bak.tar -I liste_files.txt" >> $SCRDEPL
echo "gzip BackUp.bak.tar"                       >> $SCRDEPL
echo "rm -f liste_files.txt"                        >> $SCRDEPL
J'obtiens ainsi le script de déploiement dont voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
echo "$VAR1/Rep4/Rep5/Test.sh
$VAR2/RepBis3/RepBis4/Test2.sh" | tr ' ' '
' > liste_files.txt"
tar cvf BackUp.bak.tar -I liste_files.txt
gzip BackUp.bak.tar
rm -f liste_files.txt
Mais sous AIX, j'ai tenté de remplacer le code par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
# Declaration des variables
#--------------------------------------------------
LSTFILE=liste_files.csv
SCRDEPL=deploiement.sh
 
# Traitement
echo "echo \"$(cat $LSTFILE)\" | tr ' ' '
' > liste_files.txt"    > $SCRDEPL
echo "eval tar cvf BackUp.bak.tar $(<liste_files.txt)" >> $SCRDEPL
echo "gzip BackUp.bak.tar"                       >> $SCRDEPL
echo "rm -f liste_files.txt"                        >> $SCRDEPL
Ma solution marche tant que je n'ai qu'un seul fichier dans liste_files.csv, dès le second fichier, il ne l'inclut pas dans le fichier taré mais il l'exécute car le code du fichier généré est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
echo "$VAR1/Rep4/Rep5/Test.sh
$VAR2/RepBis3/RepBis4/Test2.sh" | tr ' ' '
' > liste_files.txt"
eval tar cvf BackUp.bak.tar $VAR1/Rep4/Rep5/Test.sh
$VAR2/RepBis3/RepBis4/Test2.sh
gzip BackUp.bak.tar
rm -f liste_files.txt
Je vous remercie d'avance pour l'aide que vous m'apporterez.