J'essaie d'automatiser une svnadmin dump
commande pour un script de sauvegarde, et je veux faire quelque chose comme ceci:
find /var/svn/* \( ! -name dir -prune \) -type d -exec svnadmin dump {} > {}.svn \;
Cela semble fonctionner, en ce sens qu'il parcourt chaque référentiel svn /var/svn
et s'exécute svnadmin dump
dessus.
Cependant, le second {}
de la commande exec n'est pas remplacé par le nom du répertoire en cours de traitement. Il en résulte simplement un seul fichier nommé {}.svn
.
Je soupçonne que cela est dû au fait que le shell interprète la >
fin de la find
commande et essaie de rediriger stdout de cette commande vers le fichier nommé {}.svn
.
Des idées?
linux
find
redirection
pkaeding
la source
la source
{}
comme un argumentsh
puis ( à l' intérieursh
) s'y référer comme"$0"
ou environ"$1"
.Non, mais vous pouvez écrire un script bash simple pour le faire, puis l'appeler depuis find.
Exemple ( /tmp/dump.sh ):
puis:
la source