Поискав по всему миру, я нашел эту ссылку:
https://a20.net/bert/2016/09/27/openvpn-client-connection-not-started-on-ubuntu-16-04/
edit /etc/default/openvpn, uncomment AUTOSTART=”all”
sudo systemctl daemon-reload
sudo service openvpn restart
Я еще немного свел это к:
echo 'echo "AUTOSTART="\"all"\"" >> /etc/default/openvpn' | sudo -s
sudo systemctl daemon-reload
sudo service openvpn restart
Сохраните поток ошибок в отдельный файл и "curl
его", если есть ошибка. Тогда удалите (или оставьте, может пригодится?):
if ! mysqldump -u whatever -pwhatever somedb >somebackupfile.sql 2>error.log
then
json=$( jq -c -n --arg message "$(cat error.log)" '{ error: $message }' )
curl...options... -d "$json"
fi
rm -f error.log # or not
Это дополнительно использует jq
для правильного кодирования вывода ошибки в error.log
в виде текстовой строки JSON.
Если вы хотите изменить логику, чтобы вы отправляли содержимое файла error.log
всякий раз, когда он не пуст, возможно, потому, что программа mysqldump
не возвращает нормальный статус выхода (Я не знаю как эта конкретная программа ведет себя в данный момент):
mysqldump -u whatever -pwhatever somedb >somebackupfile.sql 2>error.log
if [ -s error.log ]; then
json=$( jq -c -n --arg message "$(cat error.log)" '{ error: $message }' )
curl...options... -d "$json"
fi
rm -f error.log # or not
Тест файла -s
является истинным , если именованный файл имеет не -нулевой размер.