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

[HS][scripts bash]

9 réponses
Avatar
Alain
Bonjour,

Je me suis fait un petit script de sauvegarde basé sur rsync.
Ce script est destiné à être utilisé sur plusieurs machines, et
j'aimerais que les paramètres de configuration spécifiques à chaque
machine soient stockés dans un fichier indépendant du script.
Ma question est la suivante:
Je veux stocker dans ce fichier les noms des répertoires à sauvegarder,
comment récupérer la liste de ces répertoires dans mon script ?

Merci,

Alain


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

9 réponses

Avatar
Marc Chantreux
Bonjour,

Il y a de plus en plus de HS pour les scripts alors qu'une bonne liste
francophone existe :

archive : http://lists.asyd.net/pipermail/shell/
wiki : http://cli.asyd.net
abonnement : https://lists.asyd.net/mailman/listinfo.cgi/shell

il est pe temps de vous abonner !

Je veux stocker dans ce fichier les noms des répertoires à sauvegarder,
comment récupérer la liste de ces répertoires dans mon script ?



for rep in $( cat fichier ) ; do
archive $rep
done


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Alain
Marc Chantreux a écrit :

Bonjour,

Il y a de plus en plus de HS pour les scripts alors qu'une bonne liste
francophone existe :

archive : http://lists.asyd.net/pipermail/shell/
wiki : http://cli.asyd.net
abonnement : https://lists.asyd.net/mailman/listinfo.cgi/shell

il est pe temps de vous abonner !



Je veux bien, mais comment savoir quelles listes existent ?
C'est bien joli le ouaibe, mais c'est comme une grande bibliothèque sans
index (si l'on excepte google et consorts). C'est pas toujours facile
d'y trouver ce que l'on cherche.
Je veux stocker dans ce fichier les noms des répertoires à
sauvegarder, comment récupérer la liste de ces répertoires dans mon
script ?



for rep in $( cat fichier ) ; do
archive $rep
done



Merci beaucoup, je vais m'empresser de tester cela.

... et désolé pour le bruit !

Alain


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Hourdebaigt
Alain a écrit :
Bonjour,


Bonjour,

Je me suis fait un petit script de sauvegarde basé sur rsync.
Ce script est destiné à être utilisé sur plusieurs machines, et
j'aimerais que les paramètres de configuration spécifiques à chaque
machine soient stockés dans un fichier indépendant du script.
Ma question est la suivante:
Je veux stocker dans ce fichier les noms des répertoires à
sauvegarder, comment récupérer la liste de ces répertoires dans mon
script ?

Merci,

Alain



Par exemple :
LISTE=/tmp/liste
>$LISTE
find /rep1 >>$LISTE
find /rep2 >>$LISTE
...
find /repn >>$LISTE

cat $LISTE| while read rep
do
mon_traitement_sur_chaque_valeur_de $LISTE
done

find peut être remplacé par 'ls' si tu ne souhaites pas la récursivité.
Un simple 'cat' tronquerait les noms de répertoires contenant des
espaces ou des caractères accentués. Le 'read ma_variable' contourne ce
problème.

On doit très certainement pouvoir faire encore plus concis, mais c'est
déjà une piste...


Pierre



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Jeudi 29 juin 2006, 20:02:15 CEST, Pierre Hourdebaigt a écrit :

Alain a écrit :
> Bonjour,
Bonjour,



'jour,

> Je me suis fait un petit script de sauvegarde basé sur rsync.
> Ce script est destiné à être utilisé sur plusieurs machines, et
> j'aimerais que les paramètres de configuration spécifiques à chaque
> machine soient stockés dans un fichier indépendant du script.
> Ma question est la suivante:
> Je veux stocker dans ce fichier les noms des répertoires à
> sauvegarder, comment récupérer la liste de ces répertoires dans mon
> script ?
>
> Merci,
>
> Alain
>
Par exemple :
LISTE=/tmp/liste
>$LISTE
find /rep1 >>$LISTE
find /rep2 >>$LISTE
...
find /repn >>$LISTE



find rep* -type d > $LISTE

Mais bon, rsync est déjà récursif...

cat $LISTE| while read rep
do
mon_traitement_sur_chaque_valeur_de $LISTE
done



UUOC !

< $LISTE while read rep; do
traiter $rep
done

On aussi virer $LISTE :
find ... | while ...

[...]



--
Sylvain Sauvage


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre
Pierre Hourdebaigt a écrit :
Alain a écrit :
Bonjour,


Bonjour,

Je me suis fait un petit script de sauvegarde basé sur rsync.
Ce script est destiné à être utilisé sur plusieurs machines, et
j'aimerais que les paramètres de configuration spécifiques à chaque
machine soient stockés dans un fichier indépendant du script.
Ma question est la suivante:
Je veux stocker dans ce fichier les noms des répertoires à
sauvegarder, comment récupérer la liste de ces répertoires dans mon
script ?

Merci,

Alain



Par exemple :
LISTE=/tmp/liste
>$LISTE
find /rep1 >>$LISTE
find /rep2 >>$LISTE
...
find /repn >>$LISTE

cat $LISTE| while read rep
do
mon_traitement_sur_chaque_valeur_de $LISTE


Lire : mon_traitement_sur_chaque_valeur_de $rep (plutôt que $LISTE bien
sûr...)

done

find peut être remplacé par 'ls' si tu ne souhaites pas la récursivité.
Un simple 'cat' tronquerait les noms de répertoires contenant des
espaces ou des caractères accentués. Le 'read ma_variable' contourne
ce problème.

On doit très certainement pouvoir faire encore plus concis, mais c'est
déjà une piste...


Pierre







--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Marc Chantreux
salut,

le 29/06/2006,
Pierre Hourdebaigt nous écrivait :

Par exemple :
LISTE=/tmp/liste
>$LISTE
find /rep1 >>$LISTE
find /rep2 >>$LISTE



perso, je préfère ouvrir un fd dans ce genre de cas pour deux raisons :

1) on limite a mon avis le risque d'oublier un > et d'écraser ainsi le
contenu actuel du fichier.
2) on laisse le fichier ouvert, ce qui évite des appels système ( str ace
te confirmera).

donc :

exec 3>/tmp/liste
find /rep1 >&3
find /rep2 >&3

il faut aussi savoir que tu peux filer de multiples racines a find pour
la recherche:

find /rep{1,2,3} /var > /tmp/liste

aura pour avantage de n'avoir lancé find qu'une fois.

pour finir : si tu utilises zsh et que tu as peu de fichiers :

set extendedglob
print -l /rep{1,2,3}/**/* /var/**/* > /tmp/liste

plus besoin de find :)

a+

--
téléphone : 03.90.24.00.19
courriel :
---------------------------------------
Avatar
Bernard Adrian
Marc Chantreux a écrit :

Il y a de plus en plus de HS pour les scripts alors qu'une bonne liste
francophone existe :

archive : http://lists.asyd.net/pipermail/shell/
wiki : http://cli.asyd.net
abonnement : https://lists.asyd.net/mailman/listinfo.cgi/shell



Pas de chance : j'avais mis ce message de côté pour m'abonner
aujourd'hui, mais aucune des 3 URL ne répond depuis ce début d'après-midi.

Si un ou plusieurs admin lisent lduf et s'ils n'étaient pas au
courant, ils le sont.

@+
--
Bernard Adrian
http://www.bernadrian.net


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Marc Chantreux
Bonjour,

les 3 services sont sur la meme machine qui, je crois, a qq problèmes
physiques.

je vous tiens au courant

cordialement,
mc

Bernard Adrian wrote:
Marc Chantreux a écrit :

Il y a de plus en plus de HS pour les scripts alors qu'une bonne liste
francophone existe :

archive : http://lists.asyd.net/pipermail/shell/
wiki : http://cli.asyd.net
abonnement : https://lists.asyd.net/mailman/listinfo.cgi/shell



Pas de chance : j'avais mis ce message de côté pour m'abonner
aujourd'hui, mais aucune des 3 URL ne répond depuis ce début d'après-midi.

Si un ou plusieurs admin lisent lduf et s'ils n'étaient pas au
courant, ils le sont.

@+




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Edi STOJICEVIC
Le Sun, Jul 02, 2006 at 08:53:26PM +0200, Bernard Adrian a tapoté sur son clavier :
Marc Chantreux a écrit :

> Il y a de plus en plus de HS pour les scripts alors qu'une bonne liste
> francophone existe :
>
> archive : http://lists.asyd.net/pipermail/shell/
> wiki : http://cli.asyd.net
> abonnement : https://lists.asyd.net/mailman/listinfo.cgi/shell

Pas de chance : j'avais mis ce message de côté pour m'abonner
aujourd'hui, mais aucune des 3 URL ne répond depuis ce début d'après-midi.

Si un ou plusieurs admin lisent lduf et s'ils n'étaient pas au
courant, ils le sont.




Sinon tu as celle-ci :

http://debianworld.org/?q=node/12

A+


--
. ''`. (___/) E d i S T O J I C E V I C
: :' : (='.'=) http://www.debianworld.org
`. `~' (")_(") GPG: C360 FCF0 AB3A 2AB0 52E7 044F 1B3D 2109 1237 B032
`-


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact