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

πŸ› οΈ Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ автоматичСский Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» для Π²Π°ΡˆΠΈΡ… скриптов Π² Linux

πŸ› οΈ Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ автоматичСский Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» для Π²Π°ΡˆΠΈΡ… скриптов Π² Linux ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄Ρ€ΡƒΠ·ΡŒΡ! πŸ§™β€β™‚οΈ Π₯ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши скрипты писали ΠΎ своих ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»? Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ пригодится простой, Π½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ способ β€” Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ запись Π»ΠΎΠ³ΠΎΠ². Π­Ρ‚ΠΎ сдСлаСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π§Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ? βˆ’ МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python, Bash ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык. βˆ’ Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ скрипта создаСтся свой Π»ΠΎΠ³Ρ„Π°ΠΉΠ», ΠΊΡƒΠ΄Π° ΠΏΠΈΡˆΡƒΡ‚ΡΡ всС сообщСния ΠΈ ошибки. βˆ’ ΠšΡ€ΠΎΠΌΠ΅ этого, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сохранСниС с ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” это интСрСсно для истории. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Bash: -- ΠŸΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΡŒΡ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° Π»ΠΎΠ³: #!/bin/bash exec > >(tee -a /var/log/myscript.log) 2>&1 Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ вСсь Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π΅Π³ΠΎ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ Python, Ρ‚ΠΎ: import logging logging.basicConfig(filename='/var/log/my_script.log', level=logging.INFO, format='%(asctime)s %(message)s') logging.info('Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½') Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡

πŸ› οΈ Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ автоматичСский Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» для Π²Π°ΡˆΠΈΡ… скриптов Π² Linux

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄Ρ€ΡƒΠ·ΡŒΡ! πŸ§™β€β™‚οΈ Π₯ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши скрипты писали ΠΎ своих ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»? Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ пригодится простой, Π½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ способ β€” Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ запись Π»ΠΎΠ³ΠΎΠ². Π­Ρ‚ΠΎ сдСлаСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π§Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ?

βˆ’ МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python, Bash ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык.

βˆ’ Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ скрипта создаСтся свой Π»ΠΎΠ³Ρ„Π°ΠΉΠ», ΠΊΡƒΠ΄Π° ΠΏΠΈΡˆΡƒΡ‚ΡΡ всС сообщСния ΠΈ ошибки.

βˆ’ ΠšΡ€ΠΎΠΌΠ΅ этого, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сохранСниС с ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” это интСрСсно для истории.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Bash:

-- ΠŸΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΡŒΡ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° Π»ΠΎΠ³:

#!/bin/bash

exec > >(tee -a /var/log/myscript.log) 2>&1

Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ вСсь Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π΅Π³ΠΎ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ Python, Ρ‚ΠΎ:

import logging

logging.basicConfig(filename='/var/log/my_script.log', level=logging.INFO, format='%(asctime)s %(message)s')

logging.info('Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½')

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходило Π²ΠΎ врСмя выполнСния.

А Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅ΡˆΡŒ Π»ΠΎΠ³ΠΈ своих скриптов? Быстро ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, согласСн?

πŸ’¬ ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ тСбя Π² наш Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π» https://t.me/LinuxSkill , Π³Π΄Π΅ большС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… статСй, Π° Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbot β€” тСбя ΠΆΠ΄ΡƒΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вакансии для систСмных администраторов!

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Fail2Ban Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚! Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!