Поскольку вы хотите отслеживать сбои в течение многих дней, вам, по сути, необходимо регистрировать проблемы, однако эти «журналы» не должны вас беспокоить и могут быть спрятанным только для cronjob. Обертка вокруг ваших скриптов кажется подходящим вариантом.
maxAttempts=5
if [ -f ~/.script_fails ];then #determine the number of failures
failures=$(cat ~/.script_fails)
else
failures=0
fi
if [ $failures -lt $maxAttempts ];then #determine if failures exceeds max attempts
./script.sh > /dev/null #if so, get rid of output
else
./script.sh #otherwise keep it
fi
result=$?
if [ $result -eq 0 ];then #increment or remove counter
rm ~/.script_fails
else
failures=$failures + 1
echo $failures > ~/.script_fails
fi
это довольно просто определяет, нужно ли вести журнал или игнорировать его. Файл для отслеживания количества сбоев скрыт в вашем домашнем каталоге, поэтому вы можете проверить его, если захотите, но ваша почта не должна ничего видеть, если только количество сбоев не станет слишком большим.
Я определенно рекомендую использовать jenkins, это значительно упрощает жизнь при настройке.
В команде iptables входящие и исходящие интерфейсы меняются местами.
Они должны быть:
sudo iptables -A FORWARD --in-interface enp5s0 --out-interface tun0 -j ACCEPT
и:
sudo iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE