ਕੰਮ ਦੀ ਸਥਿਤੀ ਸਫਲਤਾ ਕਹਿੰਦੀ ਹੈ, ਲੌਗ ਪੂਰਾ ਹੋਇਆ ਰਨ ਦਿਖਾਉਂਦਾ ਹੈ, ਅਤੇ ਡੇਟਾ ਪੁਰਾਣਾ ਜਾਂ ਗੈਰਹਾਜ਼ਰ ਹੈ। ਇਹ ਸੁਮੇਲ ਆਮ ਤੌਰ 'ਤੇ ਦੱਸਦਾ ਹੈ ਕਿ ਨਿਰਧਾਰਿਤ ਕੰਮ ਬਿਨਾਂ ਲੋੜੀਂਦੇ ਰਾਹ ਦੇ ਸ਼ੁਰੂ ਹੋਇਆ, ਅਤੇ ਹੇਠਾਂ ਕਿਸੇ ਚੀਜ਼ ਨੇ ਅਸਫਲਤਾ ਨੂੰ ਨਿਗਲ ਲਿਆ। ਸਮੇਂ ਸਿਰ ਚੱਲਣ ਵਾਲਾ ਸ਼ਡਿਊਲ ਇਹ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਨੈੱਟਵਰਕ ਤਿਆਰ ਸੀ ਜਾਂ ਨਹੀਂ। ਇਹਨਾਂ ਦੋ ਤੱਥਾਂ ਵਿਚਕਾਰਲਾ ਪਾੜਾ ਹੀ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਇਹ ਅਸਫਲਤਾ ਰਹਿੰਦੀ ਹੈ।

ਦਾਖਲਾ ਰਨ ਦਾ ਹੈ, 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 ਸਥਿਤੀ ਬਦਲਣਾ ਕੰਮ ਉੱਤੇ ਸੀਮਿਤ ਨੀਤੀ ਦਾ ਬਦਲ ਨਹੀਂ ਹੈ।

ਨਵੀਂ ਘਟਨਾ ਹਾਲੇ ਚੱਲ ਰਹੇ ਕੰਮ ਨਾਲ ਓਵਰਲੈਪ ਕਰ ਸਕਦੀ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਹ ਤੈਅ ਕਰੋ, ਉਹ ਨਿਯਮ ਕੰਮ ਦੇ ਭਾਰ ਦੇ ਮਾਲਕ ਕੋਲ ਰੱਖੋ, ਅਤੇ ਡੇਟਾ ਕਾਰਵਾਈ ਲਈ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਨੂੰ ਸੁਰੱਖਿਅਤ ਬਣਾਓ। ਡਿਸਕਨੈਕਟ ਉੱਤੇ ਕੰਮ ਰੋਕਣਾ ਕੰਮ ਨੂੰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ ਪਰ ਫਾਲਬੈਕ ਟ੍ਰੈਫਿਕ ਬਾਰੇ ਕੁਝ ਵੀ ਗਾਰੰਟੀ ਨਹੀਂ ਦਿੰਦਾ।

ਤਿੰਨ ਮਾਮਲਿਆਂ ਵਿੱਚ ਕਾਰਜ ਪ੍ਰਵਾਹ ਸਵੀਕਾਰ ਕਰੋ: ਤਿਆਰ ਰਾਹ, ਉਪਲਬਧ ਨਾ ਹੋਣ ਵਾਲਾ ਰਾਹ, ਅਤੇ ਰਨ ਦੇ ਵਿਚਕਾਰ ਨੁਕਸਾਨ। ਇਸ ਤੋਂ ਘੱਟ ਕੁਝ ਸ਼ਡਿਊਲ ਦੀ ਪਰਖ ਕਰਦਾ ਹੈ, ਕੰਮ ਦੀ ਨਹੀਂ।

ਸੰਬੰਧਿਤ ਲੇਖ