Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸ“‘ УчастиС Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ с systemd: создаСм свои ΡŽΠ½ΠΈΡ‚Ρ‹

πŸ“‘ УчастиС Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ с systemd: создаСм свои ΡŽΠ½ΠΈΡ‚Ρ‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ Linux ΠΈ DevOps! πŸš€ Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою систСму ΠΏΠΎ-настоящСму эффСктивной? Π’ΠΎΠ³Π΄Π° ΠΏΠΎΡ€Π° ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с возмоТностями systemd β€” Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ запуска ΠΈ управлСния слуТбами. ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ systemd позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΈ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ условия, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… пСрСзапуск, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ зависимостями срСди сСрвисов. А Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΡŽΠ½ΠΈΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ систСму Π² идСально Π½Π°ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π§Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² магию? - ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… сСрвисов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .service Ρ„Π°ΠΉΠ»ΠΎΠ² - АвтоматичСский пСрСзапуск ΠΏΡ€ΠΈ сбоях ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°Ρ… - Зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ слуТбами β€” запуск ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ - Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ для ΠΏΠ»Π°Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ πŸ“ БоздаСшь Ρ„Π°ΠΉΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /etc/systemd/system/myapp.service: [Unit] Description=Мой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сСрвиса After=network.target [Service] ExecStart=/usr/bin/myapp Restart=always User=admin [Install] WantedBy=multi-user.target Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: - systemctl enable myapp - systemctl

πŸ“‘ УчастиС Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ с systemd: создаСм свои ΡŽΠ½ΠΈΡ‚Ρ‹

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ Linux ΠΈ DevOps! πŸš€ Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою систСму ΠΏΠΎ-настоящСму эффСктивной? Π’ΠΎΠ³Π΄Π° ΠΏΠΎΡ€Π° ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с возмоТностями systemd β€” Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ запуска ΠΈ управлСния слуТбами.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ?

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ systemd позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΈ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ условия, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… пСрСзапуск, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ зависимостями срСди сСрвисов. А Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΡŽΠ½ΠΈΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ систСму Π² идСально Π½Π°ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ.

Π§Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² магию?

- ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… сСрвисов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .service Ρ„Π°ΠΉΠ»ΠΎΠ²

- АвтоматичСский пСрСзапуск ΠΏΡ€ΠΈ сбоях ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°Ρ…

- Зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ слуТбами β€” запуск ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅

- Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ для ΠΏΠ»Π°Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡

πŸ“ БоздаСшь Ρ„Π°ΠΉΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /etc/systemd/system/myapp.service:

[Unit]

Description=Мой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сСрвиса

After=network.target

[Service]

ExecStart=/usr/bin/myapp

Restart=always

User=admin

[Install]

WantedBy=multi-user.target

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

- systemctl enable myapp

- systemctl start myapp

И Π±ΡƒΠ΄Π΅ΡˆΡŒ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ систСмой ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ„ΠΈ!

Как Π΄ΡƒΠΌΠ°Π΅ΡˆΡŒ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ systemd?