На данный момент наш скрипт резервного копирования явно запускает svnadmin hotcopy для каждого из наших репозиториев каждую ночь. Все наши репозитории хранятся в родительском каталоге (/usr/local/svn/repos). В нашем сценарии резервного копирования есть строка для каждого репозитория в этом каталоге: svnadmin hotcopy /usr/local/svn/repos/myrepo1 /USR/локальные/резервное копирование/myrepo1
Вместо того, чтобы вручную добавлять новую строку для каждого нового репозитория, который мы подключаем к сети, я надеялся использовать команду find для запуска горячего копирования svnadmin для каждого каталога, который он находит в /usr/local/svn/repos.
Пока у меня есть:
find /usr/local/svn/repos/ -maxdepth 1 -mindepth 1 -type d -exec echo /usr/local/backup{} \;
, где для простоты я заменил "svnadmin hotcopy" на "echo". Результат которого:
/usr/local/backup/usr/local/svn/repos/ure
/usr/local/backup/usr/local/svn/repos/cheetah
/usr/local/backup/usr/local/svn/repos/casemgt
/usr/local/backup/usr/local/svn/repos/royalliver
/usr/local/backup/usr/local/svn/repos/ure_andras
/usr/local/backup/usr/local/svn/repos/profserv
/usr/local/backup/usr/local/svn/repos/frontoffice
/usr/local/backup/usr/local/svn/repos/ure.orig
/usr/local/backup/usr/local/svn/repos/projectcommon
/usr/local/backup/usr/local/svn/repos/playground
/usr/local/backup/usr/local/svn/repos/casegen
Проблема в том, что полный путь включен в {}. Мне нужен только последний элемент имени каталога, переданный в -exec
Результат, который я хочу:
/usr/local/backup/ure
/usr/local/backup/cheetah
/usr/local/backup/casemgt
/usr/local/backup/royalliver
/usr/local/backup/ure_andras
/usr/local/backup/profserv
/usr/local/backup/frontoffice
/usr/local/backup/ure.orig
/usr/local/backup/projectcommon
/usr/local/backup/playground
/usr/local/backup/casegen
Я в значительной степени застрял на этом этапе. Может кто-нибудь помочь мне здесь? Заранее спасибо, Дэйв