ਤੁਹਾਡਾ VPN ਸੂਚਕ ਹਰਾ ਹੋ ਜਾਂਦਾ ਹੈ, ਰਸਤਾ ਵਾਪਸ ਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਖੁੱਲ੍ਹੀ ਛੱਡੀ SSH ਵਿੰਡੋ ਕਦੇ ਵੀ ਪ੍ਰੋਂਪਟ ਵਾਪਸ ਨਹੀਂ ਦਿੰਦੀ। ਰਸਤਾ ਬਹਾਲ ਕਰਨ ਨਾਲ ਉਹ TCP ਗੱਲਬਾਤ ਬਹਾਲ ਨਹੀਂ ਹੁੰਦੀ ਜੋ ਉਸਨੂੰ ਵਰਤ ਰਹੀ ਸੀ, ਇਸ ਲਈ ਉਸ ਵਿੰਡੋ ਵਿੱਚ ਟਾਈਪ ਕੀਤਾ ਸਭ ਕੁਝ ਚਲਾ ਗਿਆ। ਜੇ ਅਸਲ ਚਿੰਤਾ ਸੰਪਾਦਕ ਦਾ ਬਫ਼ਰ ਜਾਂ ਲੰਮੀ ਮਾਈਗ੍ਰੇਸ਼ਨ ਹੈ, ਤਾਂ ਹੱਲ ਇਹ ਹੈ ਕਿ ਉਸ ਕੰਮ ਨੂੰ ਇੱਕ ਕਨੈਕਸ਼ਨ ਨਾਲ ਬੰਨ੍ਹਣਾ ਬੰਦ ਕਰੋ। tmux ਅਤੇ ਜੌਬ ਰਨਰ ਉਸ ਸਮੱਸਿਆ ਦੇ ਵੱਖਰੇ ਵੱਖਰੇ ਅੱਧੇ ਹਿੱਸੇ ਹੱਲ ਕਰਦੇ ਹਨ।

ਦੁਬਾਰਾ ਜੁੜਿਆ VPN ਸਾਕਟ ਨੂੰ ਜਾਰੀ ਨਹੀਂ ਰੱਖਦਾ

ਪਤਾ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਧਾਰਨਾ TCP ਵਿੱਚ ਨਹੀਂ ਹੈ। SSH ਕਨੈਕਸ਼ਨ ਦੋਵਾਂ ਸਿਰਿਆਂ ਤੋਂ ਪਛਾਣਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਜਦੋਂ ਟਨਲ ਦੁਬਾਰਾ ਬਣਦੀ ਹੈ ਤਾਂ ਸਥਾਨਕ ਪਤਾ ਬਦਲ ਸਕਦਾ ਹੈ ਅਤੇ ਪੁਰਾਣਾ ਸਾਕਟ ਮਰਿਆ ਹੁੰਦਾ ਹੈ। ਸਰਵਰ ਨੂੰ ਇਹ ਅੰਤ ਵਿੱਚ ਪਤਾ ਲੱਗਦਾ ਹੈ, ਪਰ ਤੁਹਾਡੇ ਟਰਮੀਨਲ ਨੂੰ ਤੁਰੰਤ ਪਤਾ ਲੱਗਦਾ ਹੈ।

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

ਕੰਮ ਦੂਰ ਦੇ ਹੋਸਟ ਉੱਤੇ ਰੱਖੋ

ਸੈਸ਼ਨ ਲੈਪਟਾਪ ਉੱਤੇ ਨਹੀਂ, ਦੂਰ ਦੇ ਹੋਸਟ ਉੱਤੇ ਬਣਾਓ। ਰੋਜ਼ ਦੀ ਤਰ੍ਹਾਂ ਜੁੜੋ, ਉੱਥੇ tmux ਸ਼ੁਰੂ ਕਰੋ, ਅਤੇ ਉਸਦੇ ਅੰਦਰ ਸੰਪਾਦਕ ਜਾਂ ਮਾਈਗ੍ਰੇਸ਼ਨ ਚਲਾਓ। ਡਿਫ਼ੌਲਟ ਪ੍ਰੀਫਿਕਸ ਨਾਲ ਡਿਟੈਚ ਕਰੋ ਅਤੇ SSH ਕਨੈਕਸ਼ਨ ਜਾਣ 'ਤੇ ਵੀ ਸੈਸ਼ਨ ਚੱਲਦਾ ਰਹਿੰਦਾ ਹੈ। ਸਥਾਨਕ ਤੌਰ 'ਤੇ tmux ਸ਼ੁਰੂ ਕਰਨਾ ਤੁਹਾਡੇ ਸ਼ੈੱਲ ਨੂੰ ਬੰਦ ਵਿੰਡੋ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ, ਦੂਰ ਦੀ ਕਮਾਂਡ ਨੂੰ ਮਰੀ ਟਨਲ ਤੋਂ ਨਹੀਂ।

ssh [email protected]
tmux new-session -s office-work

VPN ਵਾਪਸ ਆਉਣ ਤੋਂ ਬਾਅਦ ਉਸੇ ਹੋਸਟ ਉੱਤੇ ਨਵਾਂ SSH ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹੋ ਅਤੇ ਨਾਮ ਨਾਲ ਦੁਬਾਰਾ ਜੁੜੋ। ਟਿਕਾਊ ਵਸਤੂ ਸੈਸ਼ਨ ਹੈ, ਕਨੈਕਸ਼ਨ ਨਹੀਂ। ਇਸਨੂੰ ਅਜਿਹਾ ਨਾਮ ਦਿਓ ਜੋ ਤੁਸੀਂ ਹਫ਼ਤੇ ਬਾਅਦ ਵੀ ਪਛਾਣੋ।

tmux ਬਨਾਮ ਜੌਬ ਰਨਰ

ਜਦੋਂ ਤੱਕ ਹੋਸਟ ਚਾਲੂ ਹੈ, tmux ਇੱਕ ਇੰਟਰੈਕਟਿਵ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਜੀਵਤ ਰੱਖਦਾ ਹੈ। ਜੌਬ ਰਨਰ ਜਾਂ ਸੇਵਾ ਪ੍ਰਬੰਧਕ ਗੈਰ-ਇੰਟਰੈਕਟਿਵ ਜੌਬ ਨੂੰ ਜੀਵਤ ਰੱਖਦਾ ਹੈ, ਉਸਦੀ ਐਗਜ਼ਿਟ ਸਥਿਤੀ ਦਰਜ ਕਰਦਾ ਹੈ, ਅਤੇ SSH ਸੈਸ਼ਨ ਪੂਰੀ ਤਰ੍ਹਾਂ ਖ਼ਤਮ ਹੋਣ 'ਤੇ ਵੀ ਬਚਿਆ ਰਹਿੰਦਾ ਹੈ। ਪਹਿਲਾ ਉਸ ਕੰਮ ਲਈ ਹੈ ਜੋ ਤੁਸੀਂ ਦੇਖਦੇ ਹੋ; ਦੂਜਾ ਉਸ ਕੰਮ ਲਈ ਜੋ ਤੁਸੀਂ ਤਹਿ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਜਾਂਚਦੇ ਹੋ।

ਜੇ ਹੋਸਟ ਇਸਨੂੰ ਬਹਾਲ ਕਰਨ ਲਈ ਸੰਰਚਿਤ ਨਹੀਂ ਹੈ ਤਾਂ ਦੋਵੇਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਰੀਬੂਟ ਵਿੱਚ ਨਹੀਂ ਬਚਦਾ। tmux ਸੈਸ਼ਨ ਮਸ਼ੀਨ ਨਾਲ ਮਰ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਅਸਥਾਈ ਜੌਬ ਬੂਟ ਨਾਲ ਮਰ ਜਾਂਦੀ ਹੈ ਜੇ ਉਹ ਯੂਨਿਟ ਵਜੋਂ ਦਰਜ ਨਹੀਂ ਹੋਈ। ਜਿਸ ਨੂੰ ਕੰਮ ਨੇ ਪਾਰ ਕਰਨਾ ਹੈ ਉਸਦੇ ਆਧਾਰ 'ਤੇ ਚੁਣੋ।

ਦੋਵਾਂ ਤਰੀਕਿਆਂ ਨੂੰ ਦੁਬਾਰਾ ਜੁੜਨ ਤੋਂ ਬਾਅਦ ਪੜ੍ਹਨ ਯੋਗ ਲੌਗ ਵੀ ਚਾਹੀਦਾ ਹੈ। ਇਸ ਤੋਂ ਬਿਨਾਂ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ ਪ੍ਰਕਿਰਿਆ ਹੈ, ਪਰ ਇਹ ਨਹੀਂ ਕਿ ਉਸਨੇ ਕੀ ਕੀਤਾ। ਲੌਗ ਦਾ ਰਾਹ ਸੈਸ਼ਨ ਦੇ ਨਾਮ ਕੋਲ ਲਿਖ ਲਓ।

ਜੋ ਬਚਣਾ ਚਾਹੀਦਾ ਹੈ ਉਸਦੇ ਆਧਾਰ 'ਤੇ ਫੈਸਲਾ ਕਰੋ

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

systemd-run --user --unit=migrate-customers --collect ./migrate.sh

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

ਸੰਬੰਧਿਤ ਲੇਖ