Как делают меня scp файлы размера меньше, чем x?

Я разрабатываю что-то на своем ноутбуке и scp'ing файлы к высокопроизводительному ПК (сервер без монитора). Из лени я просто делаю это в настоящее время (на ноутбуке):

scp -r ~/project/* server:~/project/

Однако некоторые файлы в каталоге проекта являются некоторыми файлами журнала и файлами, которые я не должен отправлять, который может иногда быть концертом или около этого. То, что я хотел бы, является хорошей чистой командой, которая в основном делает то же самое (передает все файлы в проекте и его подкаталогах), но только отправляет файлы под определенным порогом размера файла, такие как 100 МБ. Я только мягко испытан с ударом и нисколько с regexp, таким образом, у меня действительно нет идеи, как сделать это без некоторого замысловатого метода, такого как импорт sys в Python и использование набора IFS и сравнений.

13
задан 13 July 2017 в 19:02

1 ответ

можно использовать команду 'rsync', которая имеет опцию к управлению размером файла для исключения.

rsync -rv --max-size=100m /path/in/local/ server:~/project/

от 'человека rsync',

--max-size=SIZE    don't transfer any file larger than SIZE

Обновленный ответ: просто исключите файлы журнала с 'rsync' - исключают опцию как ниже

rsync -rv --exclude='*.log' --max-size=100m /path/in/local/ server:~/project/

или можно использовать комбинацию команды 'находки' с 'scp' и указать предел размера файла с -size опция. использовать ! -name '*.log' исключить определенный конец файлов с 'журналом'.

find /path/in/local -type f ! -name '*.log' -size -100m -exec scp '{}' server:~/project/ \;
27
ответ дан 23 November 2019 в 03:14

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

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