Планирани посао који је покренут без VPN-а изгледа добро
Статус каже успех, а подаци недостају. Условте свако покретање тачном везом и бележите прескакања одвојено уместо да верујете распореду.
Статус посла каже успех, дневник показује завршено покретање, а подаци су застарели или их нема. Та комбинација обично значи да је планирани посао почео без путање која му је била потребна и да је нешто низводно прогутало квар. Распоред који се активира на време не говори ништа о томе да ли је мрежа била спремна. Јаз између те две чињенице је место где овај квар живи.
Дозвола припада покретању, а не постојању cron датотеке.
Зелено покретање није завршен посао
Планер бележи да је процес почео и касније изашао; нема појма да ли је тај процес стигао до ресурса због којег постоји. Скрипта која неуспелу везу третира као празан резултат или хвата грешку и излази са нулом изгледаће здраво заувек. Симптом није црвени статус; то је уверљив статус прикачен за посао који недостаје.
Наведите шта је покретању заправо потребно пре него што одлучите како то проверити. Сигурносна копија може требати приватни DNS и аутентификовану крајњу тачку, а не само процес тунела.
Проверите везу, а не име интерфејса
Интерфејс по имену tun0 може постојати без сесије која је важна, а друга веза може поседовати то име. Проверите конкретни објекат о ком посао зависи: један идентитет профила, једну инстанцу услуге или малу одобрену операцију према ресурсу. Држите проверу временски ограниченом и држите акредитиве изван аргумената процеса и дијагностичких дневника.
Дефинишите и исход без везе. Обично прескакање, поновни покушај унутар кратког прозора и пропуштени рок видљив оператеру три су различита одговора, а распоред који се понавља не бира између њих.
Прескакања и кварови су различити исходи
[Service] Type=oneshot User=worker ExecCondition=/usr/local/libexec/check-office-path ExecStart=/usr/local/bin/private-task
У systemd имплементацији ExecCondition= покреће тај проверавач пре радног оптерећења. Његово понашање при излазу је специфично: нула наставља, кодови од један до 254 прескачу преостале наредбе покретања без означавања јединице као неуспеле, а 255 или абнормални прекид чини је неуспелом. То даје три различита сигнала, корисна само ако се уговор проверавача намерно преслика на њих. Поставке које редефинишу успех могу променити слику, зато документујте пресликавање.
Бележење прескакања чини дизајн искреним. Прескочено покретање које се нигде не појављује не разликује се од покретања које је успело, а третирање сваке грешке проверавача као тихог прескакања неограничено скрива покварено постављање.
Чувајте цело покретање, не само почетак
Провера спремности посматра свет пре покретања; она не надзире сваки сокет након тога. Када равна путања никада није прихватљива за овај посао, приложите одобрену политику излаза која се примењује непрекидно и покрива DNS, IPv6 и сопствени транспорт тунела. Пребацивање глобалног стања IPv6 на хосту није замена за ограничену политику на послу.
Одлучите може ли нови догађај преклопити посао који још траје, чувајте то правило код власника радног оптерећења и учините поновни покушај сигурним за операцију с подацима. Заустављање посла при прекиду везе ограничава рад без јемства о саобраћају преко заменског пута.
Прихватите ток рада у три случаја: спремна путања, недоступна путања и губитак током рада. Било шта мање тестира распоред, а не посао.