Описание тега gymnastics
Настройка, сделано на мой залетный окно:
$ команды mkdir -Р тест/20{1512,16{01..12}}
$ для Д в !$; сделать е-я CSV-файл в %з\п' "$д" > "$д"/фу.КШМ; е 'я другой файл; не копируйте меня!\н' > "$д"/Азбука.КШМ; сделано
Структура каталогов после установки:
[бродяга@имя localhost ~]$ тест дерево
тест
├── 201512
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201601
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201602
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201603
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201604
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201605
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201606
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201607
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201608
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201609
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201610
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
├── 201611
│ ├── Азбука.КШМ
│ └── ФОО.КШМ
└── 201612
├── Азбука.КШМ
└── ФОО.КШМ
13 каталогах, 26 файлов
[залет@имя localhost ~]$ тест Кот/201609/фу.КШМ
Я CSV-файла в тесте/201609
[бродяга@имя localhost ~]$
Далее, из моего окна (не залет коробка):
в rsync-аме 'СШ -п 2222' -Ф '+ */' -Е '+ фу.CSV, в' -Ф '- *' [email protected]:/home/vagrant/test .
Результат:
$ найти тест
тест
тест/201512
тест/201512/ФОО.КШМ
тест/201601
тест/201601/ФОО.КШМ
тест/201602
тест/201602/ФОО.КШМ
тест/201603
тест/201603/ФОО.КШМ
тест/201604
тест/201604/ФОО.КШМ
тест/201605
тест/201605/ФОО.КШМ
тест/201606
тест/201606/ФОО.КШМ
тест/201607
тест/201607/ФОО.КШМ
тест/201608
тест/201608/ФОО.КШМ
тест/201609
тест/201609/ФОО.КШМ
тест/201610
тест/201610/ФОО.КШМ
тест/201611
тест/201611/ФОО.КШМ
тест/201612
тест/201612/ФОО.КШМ
Примечания по протоколу rsync
опции:
Здесь снова используется команда:
в rsync-аме 'СШ -п 2222' -Ф '+ */' -Е '+ фу.CSV, в' -Ф '- *' [email protected]:/home/vagrant/test .
-а
это "архив" коммутатор, то каталог копируется рекурсивно, разрешения сохраняются, и т. д.
-м
значит, все пустые каталоги не будут копироваться (например, если один из дата каталогах отсутствует фу.КШМ
нам не создать этот каталог).
-е 'СШ -п 2222'
просто потому, что я использую чужой ящик, который имеет SSH на другой порт не 22; Вы можете пропустить эту часть.
-Ф
представляет "фильтр" правила. Вы можете включить или исключить файлы. Фильтры я использовал должны быть довольно очевидны, но для выяснения '+ */'
фильтр, мы должны включить все каталоги, так что фу.CSV-файл
файлы будет достигнута.
Подробнее об этом в MAN-странице по адресу:
Менее='+/включать\/исключить правилам паттерна человека по rsync