Как предпринять количество переданных байтов и полученных от / net / proc / dev

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

Note  also  that  host  and  module references don’t require a trailing
slash to copy the contents of the default directory.  For example, both
of these copy the remote directory’s contents into "/dest":

       rsync -av host: /dest
       rsync -av host::module /dest

Я бы рекомендовал либо избегать использования find полностью, если это возможно (помните, что rsync будет использовать незначительную полосу пропускания для уже переданных файлов), или выполнение действия в два этапа (сначала find , затем rsync над своим выходом).

Точнее, должно работать что-то вроде следующего (для краткости я опустил некоторые из ваших параметров rsync):

ssh user@host find source-dir -mtime -1 -type f -printf %p\\\\0 \
| rsync --from0 --files-from=- user@host:. dest-dir/

Основное изменение по сравнению с тем, что вы упомянули в качестве комментария: команда find запускается на удаленный хост, а не локально.

0
21.11.2018, 09:41
1 ответ

Вместо этого используйте AWK:

awk -v OFS=, '/enp0s3:/ { print $10, $2 }' /proc/net/dev

Это ищет строки, соответствующие «enp0s3 :» в /proc/net/dev, и печатает десятое и второе поля, разделенные запятой.

1
28.01.2020, 02:41

Теги

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