Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
err = os.system(cmd)
if err:
errcnt += 1
if DEBUG:
print 'Failed'
else:
if DEBUG:
print 'ok'
if errcnt:
print 'WARNING: executed with errors (see above)'
Приведенный сценарий считывает данные из текстового файла, передаваемого как аргумент командной строки, и заносит их в базу spamdb, используя команду /var/local/sbin/spamdb -a. Формат текстового файла не допускает комментариев, пустых строк и т. д. Он может содержать только IP-адреса или подсети в формате CIDR, по одной записи в строке:
# cat wl.txt
10.10.29.192/29
1.2.3.4/33
Подсети, определяемые по наличию символа «/», функцией Expand «разворачиваются» в список отдельных IP-адресов whitelist, который затем поэлементно передается программе spamdb. Если длина маски задана неправильно, то сценарий оставляет запись как есть, возлагая обработку ошибки на утилиту spamdb (вторая запись в файле wl.txt демонстрирует поведение в этом случае). Если отладка включена (переменная DEBUG не равна 0), то каждая попытка и ее результат будут отображаться на экране:
# ./a2w.py wl.txt
Try: /usr/local/sbin/spamdb -a 10.20.29.192 ok
Try: /usr/local/sbin/spamdb -a 10.20.29.193 ok
Try: /usr/local/sbin/spamdb -a 10.20.29.194 ok
Try: /usr/local/sbin/spamdb -a 10.20.29.195 ok
Try: /usr/local/sbin/spamdb -a 10.20.29.196 ok
Try: /usr/local/sbin/spamdb -a 10.20.29.197 ok
Try: /usr/local/sbin/spamdb -a 10.20.29.198 ok
Try: /usr/local/sbin/spamdb -a 10.20.29.199 ok