Estou tentando automatizar um svnadmin dump
comando para um script de backup e quero fazer algo assim:
find /var/svn/* \( ! -name dir -prune \) -type d -exec svnadmin dump {} > {}.svn \;
Isso parece funcionar, pois olha através de cada repositório svn /var/svn
e roda svnadmin dump
nele.
No entanto, o segundo {}
no comando exec não é substituído pelo nome do diretório que está sendo processado. Basicamente, apenas resulta em um único arquivo chamado {}.svn
.
Eu suspeito que isso ocorre porque o shell interpreta >
para finalizar o find
comando e tenta redirecionar o stdout desse comando para o arquivo nomeado {}.svn
.
Alguma ideia?
linux
find
redirection
pkaeding
fonte
fonte
{}
como um argumento parash
e depois (dentrosh
) referem a ele como"$0"
ou"$1"
mais ou menos.Não, no entanto, você pode escrever um script bash simples para fazer isso e chamá-lo de find.
Exemplo ( /tmp/dump.sh ):
então:
fonte