2016 m. gruodžio 1 d., ketvirtadienis

Kaip įvykdyti scenarijų sistemai išsijungiant ar persikraunant?

Su systemd

Ubuntu systemd servisų katalogas: /lib/systemd/system/

$ sudo vim /lib/systemd/system/pries-persikraunant.service #Sukuriam unit failą

Unit skriptas:

[Unit]
Description=/etc/rc.local.shutdown Compatibility
Before=shutdown.target

[Service]
ExecStart=/bin/true
ExecStop=/home/user/bin/backup.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

$ sudo systemctl enable pries-persikraunant #Įgalinam servisą

Serviso klaidų gaudymas:
$ journalctl -u <čia įrašom serviso pavadinimą>



Kitos systemd komandos:
$ sudo systemctl daemon-reload #Pakeitus unit failą, reikia perkrauti servisą
$ sudo systemctl status pries-persikraunant #Informacija apie unit failą


Systemd klasikiniai SysVinit target konfigūraciniai failai:
$ ls -l /lib/systemd/system/runlevel*.target
lrwxrwxrwx 1 root root 15 Lie 12 19:28 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx 1 root root 13 Lie 12 19:28 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx 1 root root 17 Lie 12 19:28 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx 1 root root 17 Lie 12 19:28 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx 1 root root 17 Lie 12 19:28 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx 1 root root 16 Lie 12 19:28 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx 1 root root 13 Lie 12 19:28 /lib/systemd/system/runlevel6.target -> reboot.target

Be systemd

Runlevel yra sistemos būsena rodanti ar sistema kraunasi, persikrauna, išsijungia ar yra vieno-vartotojo režime ar paprastoje būsenoje.

Šiame kataloge scenarijai bus vykdomi patekus į runlevel 6, o tai reiškia perkrovimą.
Scenarijaus pavadinimai yra svarbūs, jie turi prasidėti K99_pavadinimas.sh ir turėti +x teises,

Scenarijai prasidedantis K raide  yra vykdomi išjungiant, S - užsikraunant.

Scenarijai vykdomi abėcėline tvarka.
Išjungimo scenarijų katalogas  /etc/rc0.d/
Užsikrovimo scenarijų katalogas /etc/rc2.d/  arba /etc/rc.local
Perkrovimo scenarijų katalogas  /etc/rc6.d 


Run level numeriai
0Visi servisai sustabdomi ir serveris išjungiamas. Halt the system.
1Vieno vartotojo rėžimas. Single-user mode (for special administration).
2Multivartotojų režimas. Local Multiuser with Networking but without network service (like NFS)
3Praplėstas multivartotojų režimas. Full Multiuser with Networking
4Pritaikomas savo reikmėms. Not Used
5Grafinis režimas. Full Multiuser with Networking and X Windows(GUI)
6Perkrovimas. Reboot.

Runlevel atvaizdavimas:
$ runlevel 
N 5

Perkrauti galima su init atba telinit komanda:
$ init 6