Написание скрипта для rsync всех каталогов

У меня есть огромный набор файлов резервных копий, каждый из которых содержит каталог видео. Каждый видео каталог немного отличается. Я хотел бы объединить их в один каталог для сохранения, так как мне не важно, из какой резервной копии получено каждое видео.

Для этого я считаю, что 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/ являются «честной игрой».

Любые предложения будут быть оцененным.

1
задан 31 July 2014 в 05:33

2 ответа

Если по крайней мере одна из папок в ./Backups содержит Video, каталог,

for dir in ./Backups/*/Videos
do
    if [[ -d $dir ]]
    then
        rsync -a $dir/* ./CollectedVideos/
    fi
done

мог бы быть близко к тому, что Вы ищете.

/* после $dir важно для копирования файлов без включения их каталога.

2
ответ дан 31 July 2014 в 05:33

Сделал подстановочные знаки использования не, работайте:? rsync -a backup//Videos/ / другой путь состоит в том, чтобы использовать, находят и xargs: find backups/Backup-*/ -type f -name ""| xargs -I {} -n 1 rsync {} / , Конечно, находка является очень медленной рабочей командой

0
ответ дан 11 November 2019 в 09:34

Другие вопросы по тегам:

Похожие вопросы: