Как «добавить IP-маршрут», если маска не CIDR

Вот схема того, как я решил бы эту проблему. Я бы создал одну служебную программу, которая запускается с помощью активации пути в каталоге IN, а также по таймеру (ночью ). Эта служебная программа имеет задачу искать файлы в каталоге IN и перемещать все найденные файлы в каталог QUEUE, и (, если день подходит, )начать обработку файлов, один за другим. Программа может чередовать эти две задачи или выполнять их параллельно в отдельных потоках.

Ключевой принцип этой системы должен заключаться в том, что программа выполняет всю доступную работу и завершается, чтобы запуститься systemd, когда будет больше работы (новые файлы ). Роль systemd заключается в том, чтобы функционировать как будильник, пробуждая службу, когда нужно выполнить какую-то работу. Сама служба должна проверять, сколько работы предстоит сделать, и перепроверять перед выходом.

Я должен упомянуть одну сложность с этой файловой системой :возможно и даже вероятно, что файл все еще открыт для записи, когда он копируется в каталог IN. Блок пути срабатывает, когда файл появляется в каталоге, но процесс копирования еще не завершил запись в него. Это может привести к повреждению данных. Файл следует переместить или атомарно связать с каталогом IN, или следует использовать какой-либо другой механизм для опроса до тех пор, пока процесс копирования не закроет файл.

0
27.05.2021, 19:31
1 ответ

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

ip route add 192.168.0.0/24 dev ppp0

ip route add 192.168.0.0/255.255.255.0 ppp0

2
28.07.2021, 11:28

Теги

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