Посоветуйте, пожалуйста, способ указания порядка загрузки файлов для rsync.
Нужно скопировать каталог так, чтобы один конкретный файл скачался самым последним.
Вариант запускать два раза rsync(сначала для всего каталога, а потом для этого файла) отпадает потому что каталог большой и во время копирования может что-то измениться.
Список файлов получить не получится, потому что их ОЧЕНЬ МНОГО и это потребует существенных затрат времени.
К тому же, разве rsync берёт список файлов для скачивания по порядку из --include-from?
Задача такова:
Есть много RPM-репозиториев, доступ к которым только по sftp.
Мне нужно держать локальные зеркала всех репозиториев, чтобы дальше проиндексировать пакеты в них и т.д. и т.п.
Индексация запускается при изменении файла repomd.xml. Так вот, если этот файл скачать раньше, чем все пакеты в репозитории, то посыпятся ошибки потому что приложение попытается работать с файлами которых еще нет.
Снапшоты не получится делать потому что у меня есть только sftp доступ к этим репозиториям.
а так подойдёт? (я так не делал)
1. на локалке создаёте при помощи хард-ссылок локальную копию целевой папки
2. пишете BATCH MODE без апдейтов на локльную копию
3. запускаете BATCH MODE обновление целевой папки по созданому на 2 шаге файлу
Как вариант, скачивать из репозиториев только *rpm. И с помощью createrepo для новых rhel и fedora или yum-arch для rhel3 создавать собственные файлы каталога репозитория. На сколько я понимаю ваша задача создать репозиторий в локальной сети, чтобы обновлять несколько серверов без доступа в интернет.