Létrehoztam egy szkriptet, amely hozzáad egy cron-feladatot a felhasználói specifikációk alapján, de nem fog működni, mivel minden alkalommal frissítenem kell a cront Mellékelek egy munkát a crontab-ban. Van-e mód a cron frissítésére a folyamat megölése nélkül?

Válasz

Mindaddig, amíg A szkript a (z) crontab paranccsal adja hozzá és törölje a felhasználó munkaköri specifikációit, így nem kell újraindítani a cron démonot.

Az AIX 7.1 cron kézikönyv oldalán ez áll: :

Amikor módosításokat hajt végre a crontab fájlokba a crontab paranccsal, a változást jelző üzenetet elküldik a cron démonnak.

Lásd még a crontab kézikönyvet .

A szkript által végrehajtott műveletek általános folyamata take:

  1. A felhasználó beillesztése egy szövegfájlba a crontab -l >crontab.txt.
  2. Manipulálja a szövegfájlt a feladatok specifikációinak hozzáadásával, eltávolításával vagy módosításával.
  3. Töltse be a felhasználó crontab-ját az új specifikációkkal a crontab crontab.txt.

Az első és az utolsó lépés parancsait felhasználóként kell végrehajtani (az első lépést futtathatja crontab -l username >crontab.txt mint pl gyökér).

Ez minden olyan Unix esetében működik, amely a cron parancsot használja.

Megjegyzések

  • Mi van, ha léteznek munkahelyek? Először ugyanabba a szövegfájlba kell tennem, majd csatolnom kell az új feladatot, mielőtt betölteném a crontab-ba?
  • @Shan Ahogy említettem, megkapná az aktuális crontabot a felhasználó számára, majd módosítsa azt mielőtt újra betöltené. Tehát igen, új feladatokat csatolna az crontab -l által létrehozott fájlhoz.

Válasz

AIX 7.1 cron kézikönyv oldalán ez áll: :

A cron démon beolvassa a konfigurációs fájlt, amikor aktiválva van, és amikor megkapja a leszokási jelet.

Tehát csak kill -HUP cron_pid meg kell tennie.

Megjegyzések

  • Ezt már kipróbáltam, de a folyamat megölése nélkül szeretném frissíteni a konfigurációmat
  • @Shan A kill parancs jeleket küld a folyamatnak. Általánosságban elmondható, hogy a folyamatokat meg lehet ölni, vagyis valójában meghalnak egy jel vételével. De cron folyamat esetén kezeli a jelet, nem hal meg, és újra elolvassa a konfigurációját.
  • A man oldal idézett része: utalva a cron ' s konfigurációs fájlra , /etc/cronlog.conf, nem pedig magukra a crontab fájlokra.
  • Nem tudom ezt a kérdésre válaszul megadni; amikor manuálisan szerkesztek egy crontab fájlt és a HUP cron-t, az új cron-feladat nem kerül végrehajtásra.
  • A @JeffSchaller helyes, vagy meg kell ölni -9 cron_pid-t, vagy pedig a crontab-ot kell használni egy crontab-fájlban, ahogy azt Kusalananda javasolja a másik válaszban töltse be újra a crontabot.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük