Bonjour à tous,
J'essaie depuis plusieurs jours de créer un .tar.gz avec des fichiers en paramètre pour faire un backup.
Cependant, au moment de la création de l'archive j'ai ce(s) message(s) d'erreur :
tar: chemin_repertoire_1: stat impossible: Aucun fichier ou dossier de ce type
tar: chemin_repertoire_2 : stat impossible: Aucun fichier ou dossier de ce type
tar: Arrêt avec code d'échec à cause des erreurs précédentes
Voici comment je construis l'archive :
tar zcvf $dirbackup/backup-$backupDate.tar.gz $chaine
où chaine vaut :
old_IFS=$IFS
IFS=$'\n'
chaine="";
for ligne in $(cat $1); do
if [ $ligne != "$2" ]; then
chaine="$chaine $ligne"
fi
done
IFS=$old_IFS
où $1 est le fichier où je vais rechercher mes répertoires/fichiers à sauvegarder (1 répertoires par ligne)
et où $2 est le répertoire dans lequel ira le .tar.gz.
J'espère que vous pourrez m'aider …
Cordialement,
# J'ai envie de dire ...
Posté par Flyounet (site web personnel) . Évalué à 4.
… d'après le man
[^] # Re: J'ai envie de dire ...
Posté par Royce . Évalué à 1.
L'erreur reste la même, j'ai utilisé :
[^] # Re: J'ai envie de dire ...
Posté par Flyounet (site web personnel) . Évalué à 1.
Et il contient quoi ton fichier
$1
?Ne dis pas la liste des fichiers, fais un
head
et copie le icitte.[^] # Re: J'ai envie de dire ...
Posté par Royce . Évalué à 1.
Quand je lance cette commande dans le shell ça fonctionne …
Comment je peux faire avec mon script ? J'ai l'impression qu'il ne faut pas que les fichiers soient entre guillemets.
[^] # Re: J'ai envie de dire ...
Posté par chimay . Évalué à 1.
Tu utilises quel shell ? J’ai déjà eu le cas avec zsh,
pour séparer les arguments, il demande la syntaxe
$=variable
Pour bash, je ne sais pas
[^] # Re: J'ai envie de dire ...
Posté par Royce . Évalué à 1.
J'utilise le shell bash.
[^] # Re: J'ai envie de dire ...
Posté par chimay . Évalué à 0.
As-tu essayé en utilisant les arrays ? Genre :
Pour l’utilisation, ce serait :
Sous réserve, je suis peu familier du bash. A toi d’expérimenter ;)
# Solution
Posté par Royce . Évalué à 1.
Le problème était "simple".
J'utilisais des chemins relatifs à place de chemins absolus.
Merci à vous
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.