Siirry pääsisältöön

Katkeamattomat SSH-istunnot screen-komennon avulla

Katkesiko SSH-yhteys kesken ajon? Tämän ohjeen avulla opit käyttämään screen-komentoa, jolla pidät tärkeät prosessit käynnissä taustalla.

Jos verkkoyhteytesi katkeaa kesken pitkän ajon terminaalissa (esimerkiksi SSH-yhteyden kautta), käynnissä oleva prosessi yleensä keskeytyy. Tämä ohje näyttää, kuinka voit käyttää screen-komentoa pitääksesi istunnon ja toimenpiteet käynnissä taustalla, vaikka yhteytesi palvelimelle pätkisi. Ohje on suunnattu käyttäjille, jotka tekevät ylläpitotoimenpiteitä sivustolla komentorivin (SSH) kautta.

Edellytykset

  • SSH-yhteys sivustosi palvelimelle.

  • Perusymmärrys komentorivin (terminaalin) käytöstä.

Vaiheittaiset ohjeet

  1. Aloita uusi screen-istunto: Yhdistettyäsi palvelimelle SSH:lla, kirjoita komento screen ja paina Enter. Olet nyt uudessa istunnossa, joka näyttää tavalliselta terminaalilta.

  2. Suorita haluamasi komennot: Käynnistä pitkään kestävä skripti tai toimenpide normaalisti.

  3. Poistu istunnosta (Detach): Voit poistua istunnosta jättäen prosessin pyörimään taustalle. Kun olet istunnon sisällä, helpoin tapa poistua on painaa ensin näppäinyhdistelmää Ctrl + A ja sen jälkeen D-näppäintä.

  4. Listaa aktiiviset istunnot: Jos verkkoyhteytesi katkeaa vahingossa tai haluat nähdä taustalla pyörivät istunnot, yhdistä palvelimelle uudelleen ja kirjoita komento screen -ls. Tämä listaa kaikki aktiiviset istunnot.

  5. Palaa istuntoon: Voit palata taustalla pyörivään istuntoon komennolla screen -r. Jos sinulla on useita istuntoja, voit lisätä komennon perään istunnon ID-numeron (esim. screen -r 12345).

Esimerkkituloste terminaalista

Esimerkki screen-istuntojen listauksesta (komento screen -ls):

screen -ls
There is a screen on:
12345.<sivuston_nimi> (Detached)
1 Socket in /run/screen/S-user.

Vianmääritys

  • Yritän palata istuntoon, mutta saan virheilmoituksen "There is no screen to be resumed": Varmista komennolla screen -ls, että istunto on yhä olemassa ja että sen tila on (Detached).

  • Istunnon tila on (Attached), enkä pääse siihen käsiksi: Jos verkkoyhteytesi katkesi yllättäen, istunto saattaa luulla olevansa yhä auki edellisessä ikkunassa. Voit pakottaa istunnon irrotuksen ja palata siihen yhdellä komennolla: screen -d -r.

  • Miten suljen screen-istunnon kokonaan? Kun olet screen-istunnon sisällä ja prosessisi on valmis, voit sulkea istunnon kokonaan kirjoittamalla komennon exit tai painamalla Ctrl + D.

Aiheeseen liittyvät artikkelit

Yhteenveto

Screen-komennon avulla vältät jatkossa katkenneista yhteyksistä johtuvat ongelmat ja pidät prosessit turvallisesti käynnissä, vaikka verkkoyhteytesi sattuisi katkeamaan. Tämä tekee pitkien skriptien ja massapäivitysten ajamisesta luotettavampaa.

Vastasiko tämä kysymykseesi?