Перенос директории данных на внешний носитель - gSpotx2f/ruantiblock_wiki_v0.9 GitHub Wiki

После установки ruantiblock можно перенести директории с данными (/tmp/ruantiblock и /tmp/dnsmasq.d, которые содежржат создаваемые модулями файлы со списками блокировок для ipset и dnsmasq) на внешний носитель, т.е. на флешку или HDD подключенные к роутеру. При стандартной установке файлы со списками блокировок находятся в оперативной памяти, что может быть нежелательно если свободной памяти мало. Расположение данных на внешнем носителе позволяет сохранить список блокировок после перезагрузки роутера, а также отключить автоматическое обновление блэклиста каждый раз при старте системы. Для переноса директорий, естественно, необходимо наличие подключенного и настроенного внешнего диска с файловой системой ext. Далее предполагается что диск смонтирован в /opt.

1. Перенос директорий данных в /opt/var/ruantiblock (на внешний диск):

mkdir -p /opt/var/ruantiblock /opt/var/dnsmasq.d
mv -f /tmp/ruantiblock/* /opt/var/ruantiblock
mv -f /tmp/dnsmasq.d/* /opt/var/dnsmasq.d

2. Монтирование папок с внешнего носителя:

mount --bind /opt/var/ruantiblock /tmp/ruantiblock
mount --bind /opt/var/dnsmasq.d /tmp/dnsmasq.d

3. Запись команд создания директории /tmp/ruantiblock и монтирования в /etc/rc.local, для выполнения при старте системы (перед строкой exit 0!):

awk '{if($0 ~ "exit 0"){printf "mkdir -p /tmp/ruantiblock\nmount --bind /opt/var/ruantiblock /tmp/ruantiblock\nmount --bind /opt/var/dnsmasq.d /tmp/dnsmasq.d\nexit 0"}else{print $0}}' /etc/rc.local > /tmp/rc.local && mv /tmp/rc.local /etc/rc.local

так должен выглядеть результат в /etc/rc.local:

mkdir -p /tmp/ruantiblock
mount --bind /opt/var/ruantiblock /tmp/ruantiblock
mount --bind /opt/var/dnsmasq.d /tmp/dnsmasq.d

4. Отключение автоматического обновления блэклиста при старте системы:

uci set ruantiblock.config.update_at_startup="0"
uci commit ruantiblock

Теперь директории /tmp/ruantiblock и /tmp/dnsmasq.d (в оперативной памяти) смонтированы в директории /opt/var/ruantiblock и /opt/var/dnsmasq.d (на внешнем носителе). Обновление блэклиста не будет выполняться при старте системы (только по расписанию cron), а файлы со списком блокировок будут сохраняться после перезагрузки роутера.