Пусть дана такая конфигурация (выдержки)
Job {
Type = Backup
Name="JobA"
FileSet = "FileSetA"
Client Run Before Job = "prepare.sh"
Cleint Run After Job = "cleanup.sh"
...
}
FileSet {
Name = "FileSetA"
Include {
Options { ... }
File = "\\| generate.sh"
}
}
Суть такой конфигурации, которую я хочу построить, это реализовать динамическую генерацию списка файлов, которые надо забакапировать. Подготовка списка файлов делается тремя скриптами, пусть они называются: prepare.sh, cleanup.sh и generate.sh. prepare.sh - готовит систему для генерации; cleanup.sh - убрать подготовительную информацию после выполнения задания; generate.sh - собственно получить список файлов. Предполагается, что все скрипты запускаются на клиенте.
Мне казалось, что все логично. Сначала (перед началом задания) запускается prepare.sh, потом запускается определение списка файлов generate.sh, потом задание выполняется, и после выполнения задания запускается cleanup.sh. Однако, моя версия Бакулы делает немного не так, как мне казалось. Множество FileSet формируется до исполнения Before-скрипта, то есть сначала запускается generate.sh, потом prepare.sh, в резульате мой generate.sh формирует некорректный список файлов.
Мой главный вопрос: можно ли как-то (какими-то параметрами) добиться, чтобы FileSet «запускался» после Client Run Before Job??? Конечно, могу prepare.sh «засунуть» в generate.sh и, таким образом, выкрутиться из положения. Но мне такой подход не очень нравится, нарушается красота и логика конфига :)
Версия бакулы 5.2 (и обновить ее пока не представляется возможным)
Спасибо!