У меня есть огромный набор файлов резервных копий, каждый из которых содержит каталог видео. Каждый видео каталог немного отличается. Я хотел бы объединить их в один каталог для сохранения, так как мне не важно, из какой резервной копии получено каждое видео.
Для этого я считаю, что rsync будет лучшим инструментом, но мне сложно придумать хороший чистый скрипт для rsync каждого каталога Video резервной копии с внешним назначением.
Другими словами, я хочу скрипт, который автоматизирует следующий процесс
rsync -a ./Backups/Backup-x/Videos/ ./CollectedVideos/
rsync -a ./Backups/Backup-y/Videos/ ./CollectedVideos/
rsync -a ./Backups/Backup-z/Videos/ ./CollectedVideos/
rsync -a ./Backups/Backup-t/Videos/ ./CollectedVideos/
, где все файлы в каталоге Backups/
являются «честной игрой».
Любые предложения будут быть оцененным.
Если по крайней мере одна из папок в ./Backups
содержит Video
, каталог,
for dir in ./Backups/*/Videos
do
if [[ -d $dir ]]
then
rsync -a $dir/* ./CollectedVideos/
fi
done
мог бы быть близко к тому, что Вы ищете.
/*
после $dir
важно для копирования файлов без включения их каталога.
Сделал подстановочные знаки использования не, работайте:? rsync -a backup//Videos/ /
другой путь состоит в том, чтобы использовать, находят и xargs: find backups/Backup-*/ -type f -name ""| xargs -I {} -n 1 rsync {} /
, Конечно, находка является очень медленной рабочей командой