Если внешний IP-адрес (к локальной сети) не является маршрутизируемым адресом (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), это невозможно. DDNS предоставляет сопоставление имени - > ip, но основная проблема заключается в том, что вы стоите за NAT. Для работы входящих подключений необходимы правила пересылки на шлюзе NAT, которые, если ваш интернет-провайдер не предоставит вам реальный IP-адрес, они делать не будут.
Если ваш интернет-провайдер не дает вам публичного адреса и вы не можете переключиться на поставщика, который это делает, вы все равно можете обойти эту проблему. Для этого требуется узел в Интернете, в котором можно установить туннель для маршрутизации трафика в локальную сеть.
-121--185202-Если ваш первый файл достаточно мал для размещения в памяти, вы можете сделать это в Perl:
perl -e 'open($f1,"file1"); while(<$f1>){chomp; $k{$_}++}
while(<>){ /(.+?\s+.+?)\s/; print if defined($k{$1})' file2
Это должно быть достаточно быстро, но он по-прежнему должен читать весь файла2
.
Я бы посмотрел код для text.py
, чтобы увидеть, куда он отправляет электронную почту. Я бы использовал это в качестве отправной точки, чтобы выяснить, почему он отправляет его. Имейте в виду, что это может быть не прямая попытка отправить на gmail, а на локальный адрес (см. ниже).
Ваш record.py
, вероятно, в какой-то момент записывает либо в stdout , либо в stderr . cron
получает его в качестве выходного документа для отправки по почте (как владелец crontab
).
Я подозреваю, что в какой-то пункт вы настроили свой Pi для пересылки электронных писем, адресованных вашей местной учетной записи, на адрес вне сайта 123456789@myprovider.com
. Я бы начал с просмотра /etc/aliases
и ~/.forward
.