Я пытаюсь автоматизировать svnadmin dump
команду для сценария резервного копирования, и я хочу сделать что-то вроде этого:
find /var/svn/* \( ! -name dir -prune \) -type d -exec svnadmin dump {} > {}.svn \;
Кажется, это работает, так как просматривает каждый репозиторий SVN /var/svn
и запускает svnadmin dump
его.
Однако вторая {}
в команде exec не заменяет имя обрабатываемого каталога. В основном это просто один файл с именем {}.svn
.
Я подозреваю, что это потому, что оболочка интерпретирует, >
чтобы завершить find
команду, и пытается перенаправить стандартный вывод из этой команды в файл с именем {}.svn
.
Любые идеи?
linux
find
redirection
pkaeding
источник
источник
{}
качестве аргумента ,sh
а затем (внутриsh
) относятся к нему как"$0"
или"$1"
или так.Нет, однако вы можете написать простой bash-скрипт для этого и затем вызвать его из find.
Пример ( /tmp/dump.sh ):
тогда:
источник