Я использую Ubuntu 12.04 TLS, в которой у меня есть git-репозиторий в определенном каталоге, и я пытаюсь сделать запланированное резервное копирование репозитория и поместить его в определенный каталог, который можно отправить по почте.
В процессе, который я узнал, чтобы найти все git-репозиторий в определенном каталоге, по поиску я нашел эту команду ниже
find /home/mysys/D/ -name .git -type d -prune
, но он содержит путь как
/home/mysys/D/testing/.git
, в котором перечислены все файлы git, связанные с каталогом, и он работает, но мне нужно выполнить git bundle create directoryname.bundle - все, чтобы сделать его более автоматизированным, в котором я попробовал следующее
find /home/mysys/D/ -name .git -type d -prune -exec git bundle create test.bundle --all {} \;
Приведенный выше скрипт bash возвращает
fatal: Invalid gitfile format: .git
Как это сделать, чтобы он работал надежно.
Заранее спасибо.
Вы хотите быть в управляемый мерзавцами каталог, когда git bundle
выполняется, так использование find ... -execdir ... \;
find /home/mysys/D/ -type d -name .git -prune -execdir git bundle create backup.bundle --all \;
, Который создаст backup.bundle во всех этих каталогах. Оттуда можно переместить их или обработать их с большим количеством сценариев. Но связывающаяся сторона вещей обрабатывается.