Назад | Перейти на главную страницу

Цикл по подкаталогам

Мне нужно пройти через подкаталоги каталога / home / userName / и найти файлы, имена которых начинаются с SY101, а их расширение - .csv, и передать эти файлы на другой сервер. Мой вопрос в том, как мне пройти через подкаталоги и продолжить поиск файлов?

Что-то вроде этого может сработать для вас:

rsync --recursive --include='SY101*.csv' --include='*/' --exclude='*' /home/userName/ username@hostname:destdir

Это воспроизведет иерархию каталогов источника в месте назначения.

Вы можете сделать несколько вещей, это, вероятно, наиболее эффективно, но я ничего не знаю о размере ваших файлов и вашей связи между серверами, но позвольте мне попробовать:

find /home/userName/ -name 'SY101*.csv' | \
xargs tar cvfz - | ssh hostname 'tar xzf -'

Это скопирует файлы в ваш дом на другой сервер.

Обратите внимание, что полный путь будет перенесен.