Loin komentosarjan, joka lisää cron-työn käyttäjän määritysten perusteella, mutta se ei toimi, koska minun on päivitettävä cron joka kerta Lisään työn crontabiin. Onko mahdollista päivittää cron tappamatta prosessia?

Vastaa

Niin kauan kuin skripti käyttää crontab -ohjelmaa käyttäjän työtehtävien lisäämiseen ja poistamiseen, cron -demonia ei tarvitse käynnistää uudelleen.

AIX 7.1 cron -käyttöopas kertoo :

Kun teet muutoksia crontab-tiedostoihin crontab -komennolla, muutoksen osoittava viesti lähetetään cron-demonille.

Katso myös crontab käsikirja .

Yleinen toimintojen kulku, jonka komentosarjasi tekisi ota:

  1. Tuo käyttäjän sivutiedosto tekstitiedostoon käyttämällä crontab -l >crontab.txt.
  2. Käsittele tekstitiedostoa lisäämällä, poistamalla tai muuttamalla töiden määrityksiä.
  3. Lataa käyttäjän crontab-välilehti uudet määritykset käyttämällä crontab crontab.txt.

Ensimmäisen ja viimeisen vaiheen komennot on suoritettava käyttäjänä (ensimmäinen vaihe voidaan suorittaa myös nimellä crontab -l username >crontab.txt kuten esim root).

Tämä toimii kaikilla Unix-tiedostoilla, joissa on cron.

Kommentit

  • Entä jos työpaikkoja on olemassa? Täytyykö minun laittaa se ensin samaan tekstitiedostoon ja liittää sitten uusi työ ennen kuin lataan sen crontabiin?
  • @Shan Kuten mainitsin, saisit nykyisen crontab-sovelluksen käyttäjälle ja muokkaa sitten sitä ennen kuin lataat sen uudelleen. Joten kyllä, liität uudet työpaikat tiedostoon, jonka on tuottanut crontab -l.

Vastaa

AIX 7.1 cronin manuaalinen sivu sanoo :

cron-daemon lukee määritystiedoston, kun se on aktivoitu ja kun se vastaanottaa hangup-signaalin.

Joten vain kill -HUP cron_pid pitäisi tehdä se.

Kommentit

  • Olen jo kokeillut tätä, mutta haluaisin päivittää kokoonpanoni tappamatta prosessia
  • @Shan kill -komento lähettää signaaleja prosessille. Yleensä prosessit voidaan tappaa, eli ne todella kuolevat vastaanottamalla signaalin. Mutta jos kyseessä on cron -prosessi, se käsittelee signaalin, ei kuole ja lukee uudelleen kokoonpanonsa.
  • Lainamasi man-sivun osa on viitataan cron ' s -asetustiedostoon , /etc/cronlog.conf, ei itse crontab-tiedostoihin.
  • En voi tehdä tästä vastausta tähän kysymykseen; kun muokkaan manuaalisesti crontab-tiedostoa ja HUP cronia, uutta cron-työtä ei suoriteta.
  • @JeffSchaller on oikea, joudut joko tappamaan -9 cron_pid tai käyttämään crontabia crontab-tiedostossa, kuten Kusalananda ehdottaa. toisessa vastauksessa ladata crontab uudelleen.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *