Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme avec la commande tar

12 réponses
Avatar
pradi1
Bonjour,
je suis en train de faire un script utilisant, entre autre, la commande tar.
Cependant, j'ai un gros souci (malgrès la lecture des man et autres how
to, je suis coincé...)
voici la commande :

tar -c -z -f $DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list
rpmsources.list conf.list data.list supp.list -P -C / -T /tmp/save_pack
2>$DOSSIER/status

Le but du jeu est d'effectuer la sauvegarde d'un service (postfix par
exemple) comprenant :
- la liste des rpm, des fichiers de conf.....ainsi que le contenu du
fichier save_pack
La première partie de la commande fonctionne (tar -c -z -f
$DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list conf.list
data.list supp.list)
mais pas la deuxième...
Un echo $DOSSIER et $SERVICE me retourne ce que je veux : donc, pas de
Pb questions variables

--- contenu de save_pack....
/var/spool/postfix
/etc/pam.d/smtp
/etc/postfix
/etc/ppp/ip-down.d/postfix
/etc/ppp/ip-up.d/postfix
/etc/rc.d/init.d/postfix
/etc/sasl2/smtpd.conf
/etc/sysconfig/network-scripts/ifup.d/postfix
/etc/sysconfig/postfix

Tous les fichiers sont créés, mais, lors de l'execution de la commande
(que ce soit dans le script ou directement (en indiquant les chemins et
pas les variables)) j'ai le message suivant :

tar: -P: ne peut stat: Aucun fichier ou répertoire de ce type
tar: -T: ne peut stat: Aucun fichier ou répertoire de ce type
tar: Retrait de « /» de tête des noms des membres
tar: Statut d'erreur reporté d'erreurs précédentes.

Heureusement que je ne connais pas le latin, sinon je l'aurai perdu...

Si vous aviez une idée.

Merci d'avance

PS : je suis sous Mandriva Corporate server4 (d'où le cross post)

10 réponses

1 2
Avatar
Nicolas S.
pradi1 a écrit:

Le but du jeu est d'effectuer la sauvegarde d'un service (postfix par
exemple) comprenant :
- la liste des rpm, des fichiers de conf.....ainsi que le contenu du
fichier save_pack
La première partie de la commande fonctionne (tar -c -z -f
$DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list
conf.list data.list supp.list)
mais pas la deuxième...



Si vous aviez une idée.



Tu veux faire une sauvegarde de quels fichiers (ou de quelles listes de
fichiers) avec quelles options?

--
Nicolas S.
Avatar
Nicolas S.
pradi1 a écrit:

Le but du jeu est d'effectuer la sauvegarde d'un service (postfix par
exemple) comprenant :
- la liste des rpm, des fichiers de conf.....ainsi que le contenu du
fichier save_pack
La première partie de la commande fonctionne (tar -c -z -f
$DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list
conf.list data.list supp.list)
mais pas la deuxième...

Si vous aviez une idée.


Tu veux faire une sauvegarde de quels fichiers (ou de quelles listes de
fichiers) avec quelles options?

--
Nicolas S.

Avatar
pmxk
Bah c'est normal
La commande tar se termine par la liste des fichiers, pas par des options
...
Et puis pourquoi utiliser 2 fois l'option -C ??
zarki

pmxk

"pradi1" a écrit dans le message de news:
46f148b1$0$10615$
Bonjour,
je suis en train de faire un script utilisant, entre autre, la commande
tar.
Cependant, j'ai un gros souci (malgrès la lecture des man et autres how
to, je suis coincé...)
voici la commande :

tar -c -z -f $DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list
conf.list data.list supp.list -P -C / -T /tmp/save_pack 2>$DOSSIER/status

Le but du jeu est d'effectuer la sauvegarde d'un service (postfix par
exemple) comprenant :
- la liste des rpm, des fichiers de conf.....ainsi que le contenu du
fichier save_pack
La première partie de la commande fonctionne (tar -c -z -f
$DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list conf.list
data.list supp.list)
mais pas la deuxième...
Un echo $DOSSIER et $SERVICE me retourne ce que je veux : donc, pas de Pb
questions variables

--- contenu de save_pack....
/var/spool/postfix
/etc/pam.d/smtp
/etc/postfix
/etc/ppp/ip-down.d/postfix
/etc/ppp/ip-up.d/postfix
/etc/rc.d/init.d/postfix
/etc/sasl2/smtpd.conf
/etc/sysconfig/network-scripts/ifup.d/postfix
/etc/sysconfig/postfix

Tous les fichiers sont créés, mais, lors de l'execution de la commande
(que ce soit dans le script ou directement (en indiquant les chemins et
pas les variables)) j'ai le message suivant :

tar: -P: ne peut stat: Aucun fichier ou répertoire de ce type
tar: -T: ne peut stat: Aucun fichier ou répertoire de ce type
tar: Retrait de « /» de tête des noms des membres
tar: Statut d'erreur reporté d'erreurs précédentes.

Heureusement que je ne connais pas le latin, sinon je l'aurai perdu...

Si vous aviez une idée.

Merci d'avance

PS : je suis sous Mandriva Corporate server4 (d'où le cross post)


Avatar
pmxk
Bah c'est normal
La commande tar se termine par la liste des fichiers, pas par des options
...
Et puis pourquoi utiliser 2 fois l'option -C ??
zarki

pmxk

"pradi1" a écrit dans le message de news:
46f148b1$0$10615$
Bonjour,
je suis en train de faire un script utilisant, entre autre, la commande
tar.
Cependant, j'ai un gros souci (malgrès la lecture des man et autres how
to, je suis coincé...)
voici la commande :

tar -c -z -f $DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list
conf.list data.list supp.list -P -C / -T /tmp/save_pack 2>$DOSSIER/status

Le but du jeu est d'effectuer la sauvegarde d'un service (postfix par
exemple) comprenant :
- la liste des rpm, des fichiers de conf.....ainsi que le contenu du
fichier save_pack
La première partie de la commande fonctionne (tar -c -z -f
$DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list conf.list
data.list supp.list)
mais pas la deuxième...
Un echo $DOSSIER et $SERVICE me retourne ce que je veux : donc, pas de Pb
questions variables

--- contenu de save_pack....
/var/spool/postfix
/etc/pam.d/smtp
/etc/postfix
/etc/ppp/ip-down.d/postfix
/etc/ppp/ip-up.d/postfix
/etc/rc.d/init.d/postfix
/etc/sasl2/smtpd.conf
/etc/sysconfig/network-scripts/ifup.d/postfix
/etc/sysconfig/postfix

Tous les fichiers sont créés, mais, lors de l'execution de la commande
(que ce soit dans le script ou directement (en indiquant les chemins et
pas les variables)) j'ai le message suivant :

tar: -P: ne peut stat: Aucun fichier ou répertoire de ce type
tar: -T: ne peut stat: Aucun fichier ou répertoire de ce type
tar: Retrait de « /» de tête des noms des membres
tar: Statut d'erreur reporté d'erreurs précédentes.

Heureusement que je ne connais pas le latin, sinon je l'aurai perdu...

Si vous aviez une idée.

Merci d'avance

PS : je suis sous Mandriva Corporate server4 (d'où le cross post)


Avatar
pradi1
Le 09/19/2007 10:03 PM, Nicolas S. a tapoté avec ses mimines :
pradi1 a écrit:

Le but du jeu est d'effectuer la sauvegarde d'un service (postfix par
exemple) comprenant :
- la liste des rpm, des fichiers de conf.....ainsi que le contenu du
fichier save_pack
La première partie de la commande fonctionne (tar -c -z -f
$DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list
conf.list data.list supp.list)
mais pas la deuxième...

Si vous aviez une idée.


Tu veux faire une sauvegarde de quels fichiers (ou de quelles listes de
fichiers) avec quelles options?



Bonjour,
voici ce que je veux faire:
Le but du jeu est de faire un script de sauvegarde de différents
"services" (postfix, samba, openldap, etc...) qui sont susceptibles de
"vivre" tous les jours.
Aussi, une partie du script me fait un "listing" des paquetages rpm
installés et les place dans un fichier (rpm.list), pareil pour les
fichiers rpmsources.list ... etc.list
Une autre partie me crée un fichier (save_pack) qui contient quelsues
fichiers que j'estime avoir besoin (voir post d'origine)

Je désire que tar me sauvegarde :
- les fichiers .list
- les fichiers contenus dans save_pack

Les options désirées :
-P : sauvegarde en chemins absolus (en prévision du script de restauration)
Quant au -C, même en enlevant le dernier, ça ne passe pas...

Merci pour votre aide


Avatar
pradi1
Le 09/19/2007 10:03 PM, Nicolas S. a tapoté avec ses mimines :
pradi1 a écrit:

Le but du jeu est d'effectuer la sauvegarde d'un service (postfix par
exemple) comprenant :
- la liste des rpm, des fichiers de conf.....ainsi que le contenu du
fichier save_pack
La première partie de la commande fonctionne (tar -c -z -f
$DOSSIER/$SERVICE.tar.gz -C $DOSSIER rpm.list rpmsources.list
conf.list data.list supp.list)
mais pas la deuxième...



Si vous aviez une idée.



Tu veux faire une sauvegarde de quels fichiers (ou de quelles listes de
fichiers) avec quelles options?




Bonjour,
voici ce que je veux faire:
Le but du jeu est de faire un script de sauvegarde de différents
"services" (postfix, samba, openldap, etc...) qui sont susceptibles de
"vivre" tous les jours.
Aussi, une partie du script me fait un "listing" des paquetages rpm
installés et les place dans un fichier (rpm.list), pareil pour les
fichiers rpmsources.list ... etc.list
Une autre partie me crée un fichier (save_pack) qui contient quelsues
fichiers que j'estime avoir besoin (voir post d'origine)

Je désire que tar me sauvegarde :
- les fichiers .list
- les fichiers contenus dans save_pack

Les options désirées :
-P : sauvegarde en chemins absolus (en prévision du script de restauration)
Quant au -C, même en enlevant le dernier, ça ne passe pas...

Merci pour votre aide
Avatar
Nicolas S.
pradi1 a écrit:

voici ce que je veux faire:
Le but du jeu est de faire un script de sauvegarde de différents
"services" (postfix, samba, openldap, etc...) qui sont susceptibles
de "vivre" tous les jours.
Aussi, une partie du script me fait un "listing" des paquetages rpm
installés et les place dans un fichier (rpm.list), pareil pour les
fichiers rpmsources.list ... etc.list
Une autre partie me crée un fichier (save_pack) qui contient quelsues
fichiers que j'estime avoir besoin (voir post d'origine)

Je désire que tar me sauvegarde :
- les fichiers .list
- les fichiers contenus dans save_pack


Ok. Je ferais donc deux fichiers de sauvegardes.

Les options désirées :
-P : sauvegarde en chemins absolus (en prévision du script de
restauration) Quant au -C, même en enlevant le dernier, ça ne passe
pas...


Voici ce que dit la page info:
" Short options' letters may be clumped together, but you are not
required to do this (as compared to old options; see below). When
short options are clumped as a set, use one (single) dash for them all,
e.g., ``tar' -cvf'. Only the last option in such a set is allowed to
have an argument(1).

(1) Clustering many options, the last of which has an argument, is a
rather opaque way to write options. Some wonder if GNU `getopt' should
not even be made helpful enough for considering such usages as invalid."

Tu peux faire (pour bash):

tar --create --gzip --absolute-names --directory="${DOSSIER}" rpm.list
rpmsource.list conf.list data.list supp.list
--files-from="/tmp/save_pack"
"${DOSSIER}/${SERVICE}.tar.gz" 2> "${DOSSIER}/status"



Ceci dit, comme je te l'ai dit plus haut, je ferais plutôt deux
fichiers de sauvegardes différents: un pour tes .list et l'autre pour
le contenu de save_pack.

N'oublie pas de restaurer les droits.

--
Nicolas S.

Avatar
Nicolas S.
pradi1 a écrit:

voici ce que je veux faire:
Le but du jeu est de faire un script de sauvegarde de différents
"services" (postfix, samba, openldap, etc...) qui sont susceptibles
de "vivre" tous les jours.
Aussi, une partie du script me fait un "listing" des paquetages rpm
installés et les place dans un fichier (rpm.list), pareil pour les
fichiers rpmsources.list ... etc.list
Une autre partie me crée un fichier (save_pack) qui contient quelsues
fichiers que j'estime avoir besoin (voir post d'origine)

Je désire que tar me sauvegarde :
- les fichiers .list
- les fichiers contenus dans save_pack



Ok. Je ferais donc deux fichiers de sauvegardes.

Les options désirées :
-P : sauvegarde en chemins absolus (en prévision du script de
restauration) Quant au -C, même en enlevant le dernier, ça ne passe
pas...



Voici ce que dit la page info:
" Short options' letters may be clumped together, but you are not
required to do this (as compared to old options; see below). When
short options are clumped as a set, use one (single) dash for them all,
e.g., ``tar' -cvf'. Only the last option in such a set is allowed to
have an argument(1).

(1) Clustering many options, the last of which has an argument, is a
rather opaque way to write options. Some wonder if GNU `getopt' should
not even be made helpful enough for considering such usages as invalid."

Tu peux faire (pour bash):

tar --create --gzip --absolute-names --directory="${DOSSIER}" rpm.list
rpmsource.list conf.list data.list supp.list
--files-from="/tmp/save_pack"
"${DOSSIER}/${SERVICE}.tar.gz" 2> "${DOSSIER}/status"




Ceci dit, comme je te l'ai dit plus haut, je ferais plutôt deux
fichiers de sauvegardes différents: un pour tes .list et l'autre pour
le contenu de save_pack.

N'oublie pas de restaurer les droits.

--
Nicolas S.
Avatar
Nicolas S.
"Nicolas S." a écrit:

tar --create --gzip --absolute-names --directory="${DOSSIER}" rpm.list
rpmsource.list conf.list data.list supp.list
--files-from="/tmp/save_pack"
"${DOSSIER}/${SERVICE}.tar.gz" 2> "${DOSSIER}/status"



Mes excuses, je n'ai pas contrôlé la césure avant l'envoi. Considèr e la
commande d'au dessus comme étant sur une seule ligne et sans les
anti-slash.

Ce qui donne aussi:

tar --create --gzip --absolute-names --directory="${DOSSIER}"
rpm.list rpmsource.list conf.list data.list supp.list
--files-from="/tmp/save_pack" > "${DOSSIER}/${SERVICE}.tar.gz"
2>"${DOSSIER}/status"

--
Nicolas S.


Avatar
Nicolas S.
"Nicolas S." a écrit:

tar --create --gzip --absolute-names --directory="${DOSSIER}" rpm.list
rpmsource.list conf.list data.list supp.list
--files-from="/tmp/save_pack"
> "${DOSSIER}/${SERVICE}.tar.gz" 2> "${DOSSIER}/status"



Mes excuses, je n'ai pas contrôlé la césure avant l'envoi. Considèr e la
commande d'au dessus comme étant sur une seule ligne et sans les
anti-slash.

Ce qui donne aussi:

tar --create --gzip --absolute-names --directory="${DOSSIER}"
rpm.list rpmsource.list conf.list data.list supp.list
--files-from="/tmp/save_pack" > "${DOSSIER}/${SERVICE}.tar.gz"
2>"${DOSSIER}/status"

--
Nicolas S.
1 2