wpa_supplicant игнорируют некоторые сети

cron не знает, когда будет выполнено задание. Все, что он делает, это каждую минуту, просматривает все записи crontab и запускает те, которые соответствуют "$(дата '+%M %H %d %m %w')".

Все, что вы можете сделать, это сгенерировать все эти временные метки для каждой минуты с этого момента до 49 часов с этого момента (учет изменения DST), сделать совпадение вручную (хитрая часть) и сообщить о первом совпадении.

Или вы можете использовать модуль croniter python:

python -c '
from croniter import croniter
from datetime import datetime
iter = croniter("3 9 * * *", datetime.now())
print iter.get_next(datetime)'

Для задержки:

$ faketime 13:52:00 python -c '
from croniter import croniter
from datetime import datetime
d = datetime.now()
iter = croniter("30 9 * * *", d)
print iter.get_next(datetime) - d'
19:37:59.413956

Остерегайтесь потенциальных ошибок вокруг изменения DST, хотя:

$ faketime '2015-03-28 01:01:00' python -c '
from croniter import croniter
from datetime import datetime
iter = croniter("1 1 * * *", datetime.now())
print iter.get_next(datetime)'
2015-03-29 02:01:00

$ FAKETIME_FMT=%s faketime -f 1445734799 date
Sun 25 Oct 01:59:59 BST 2015
$ FAKETIME_FMT=%s faketime -f 1445734799  python -c '
from croniter import croniter
from datetime import datetime
iter = croniter("1 1 * * *", datetime.now())
print iter.get_next(datetime)'
2015-10-25 01:01:00

$ FAKETIME_FMT=%s faketime -f 1445734799 python -c '
from croniter import croniter
from datetime import datetime
d = datetime.now()
iter = croniter("1 1 * * *", d)
print iter.get_next(datetime) - d'
-1 day, 23:01:01

cron сам позаботится об этом, избегая запускать задание дважды, если время пошло назад, или запускать пропущенные задания после смены, если время пошло вперёд.

0
05.04.2014, 16:20
2 ответа
[1122102]Я предполагаю, что вы используете [1122572]wpa_supplicant[1122573] для подключения к беспроводным сетям. Я считаю, что вы всегда должны использовать [1122574]белый список[1122575] и никогда [1122576]черный список[1122577], т.е. вы должны использовать явные настройки как для неаутентифицированных, так и для аутентифицированных сетей. Иначе вы никогда не знаете, где вы подключаетесь, и часто заканчиваете с неактуальной связью.
  • Есть инструменты, которые могут сделать это проще для вас, например, NetworkManager с его графическим интерфейсом или CLI фронтендом для подключения к новым сетям. Есть пара других инструментов для тех же целей. С помощью этих инструментов первый доступ к новому SSID всегда явный, а второй и следующий - автоматический для сетей, к которым вы уже успешно подключились.
  • Весь смысл использования [1122578]wpa_supplicant[1122579] напрямую заключается в том, чтобы иметь полный контроль над конфигурацией беспроводной сети. Подключение к случайным SSID не соответствует этому.[1122107]
  • 0
    28.01.2020, 02:52
    [1122077] Вы не можете.

    1. Самым простым решением для вас будет запретить вашей точке доступа MAC-адрес вашего клиента.

    2. Это, или просто прекратить попытки подключения к каждой открытой BSS-сети.[1122083].

    1
    28.01.2020, 02:52

    Теги

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