Постоянно передавать файлы на сервер

Судя по конкретному выводу Подключение к подключению к 10.1.0.100 53 порту [udp / domain] выполнено успешно! вы используете openbsd-netcat.

Глядя на код для этого , тест заключается в привязке к сокету UDP, т.е. есть открытое соединение:

              if (vflag || zflag) {
                            /* For UDP, make sure we are connected. */
                            if (uflag) {
                                    if (udptest(s) == -1) {
                                            ret = 1;
                                            continue;
                                    }
                            }

                            /* Don't look up port if -n. */
                            if (nflag)
                                    sv = NULL;
                            else {
                                    sv = getservbyport(
                                        ntohs(atoi(portlist[i])),
                                        uflag ? "udp" : "tcp");
                            }

                            fprintf(stderr,
                                "Connection to %s %s port [%s/%s] "
                                "succeeded!\n", host, portlist[i],
                                uflag ? "udp" : "tcp",
                                sv ? sv->s_name : "*");

udptest выдает примерно 3 записи в открытый сокет. Следует отметить, что это не работает для IPv6 и дает сбой после проверки примерно 100 портов.

Итак, хотя другое предположение может быть верным, я не думаю, что это происходит в данном конкретном случае.

0
26.04.2018, 14:56
1 ответ

Этот сценарий постоянно перебирает каждый файл в $pathи открывает соединение SCP для передачи каждого файла по отдельности с паузой каждую секунду. Это имеет высокие накладные расходы. Вместо этого лучше использовать rsyncдля синхронизации каталога с сервера на клиент.

0
28.01.2020, 04:24

Теги

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