рдмрд┐рдирд╛ рдкрд╣рдирд╛рд╡рд╛



рд╣рдордиреЗ рдПрдХ рдмрд╛рд░ рдЕрдкрдиреА рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХреЗ рдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдкрд╣рдирд╛рд╡рд╛ (ansible) рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдмрдирд╛рдПрдВред рдореИрдВ рдкрд╣рдирд╛рд╡рд╛ рдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЪрдврд╝ рдЧрдпрд╛, рдпрд╣ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ... ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИ ... рдмрдВрдж рдХрд░реЛ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреА рдЯреБрдХрдбрд╝реА рдХреА рдЬрд░реВрд░рдд рд╣реИ? рдПрдХ рдкрд╣рдирд╛рд╡рд╛ рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдЦреБрдж ... рдЕрдХреЗрд▓рд╛ ... рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ! рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐ рди рдХреЗрд╡рд▓ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рд╕рд░реНрд╡рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдЙрдкреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред

Vorning! рдХрдЯ рдХреЗ рддрд╣рдд рдмрд╣реБрдд рд╕рд╛рд░реА рддрд╕реНрд╡реАрд░реЗрдВ рдФрд░ рдЧрд┐рдл рдХреА рдПрдХ рдЬреЛрдбрд╝реАред

рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдФрд░ dzhanga рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рдФрд░ рдЕрдиреНрдп рджреЛрдиреЛрдВ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдФрд░ "рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ" рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЕрдм рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд╣реАрдВ рдорд╛рдкреВрдВрдЧрд╛ред рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рд╡реЗ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреАрдореЛрдВ рдХреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ (рдФрд░ рджрд┐рдЦрд╛рдКрдВрдЧрд╛) рдХрд┐ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд┐рд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ред рддреЛ рдпрд╣рд╛рдБ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдЬрдЧрд░ рдХреЛ рдЙрдард╛рдпрд╛, рд╡реИрд╕реЗ, рдореЗрд░рд╛ рдЕрдЬрдЧрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп, рдФрд╕рдд 2.7ред рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ (рдЙрд╕ рд╕рдордп) 1.10 dzhang рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдФрд░ рддреЛ рдФрд░ рдЗрддрдирд╛ рдЬреБрдбрд╝рд╛ рд╣реБрдЖред рдореИрдВ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╕реЗ рд╣рд░ рддрд░рд╣ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд░рд╣рд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдВрдд рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред


рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рдм рдПрдХ рд╕рд░рд▓ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬрдВрдмреЛрдЯреНрд░реЙрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрдпрди рдкреГрд╖реНрда рдкрд░ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВред


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рд░реНрд╡рд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрджрд┐ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред


рдЪрд▓рд┐рдП рдбрд┐рдЯреЗрд▓реНрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗ рдХрдИ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА: рд╕рд░реНрд╡рд░ (рд╕рд░реНрд╡рд░), рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ), рд╕рд░реНрд╡рд┐рд╕ рдкреИрдХ (рдЕрдкрдбреЗрдЯ), рддрд╛рдЬ рдореЗрдВ рдХрд╛рд░реНрдп (рдХреНрд░реЛрди рдЬреЙрдм), рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдШрдЯрдирд╛ (рдЗрд╡реЗрдВрдЯ), рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ) рдФрд░ рдбрдВрдк (рдбрдВрдк) рдХрд╛ рд╕рд╛рд░ рдирд╣реАрдВред

рдереЛрдбрд╝рд╛ рд╕рд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░
рд╣рдо рдЯрд╛рдЗрдЯрди рдЦреЛрдЬ рдореЗрдВ рдЕрдкрдиреЗ рдмреЗрдЯреЗ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реИрдВ, рдпрд╛ рдмрд▓реНрдХрд┐ рдореИрдВ рдЦреЗрд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣ рджрд┐рдЦрддрд╛ рд╣реИ) рд╡рд╣рд╛рдБ, рдХреБрдЫ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ, рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рд╛рдХреНрд╖рд╕реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВред рдПрдХ рдЕрдЪреНрдЫрд╛ рджрд┐рди, рдЕрдХрд┐рд▓реАрдЬрд╝ рдХрд╛ рдХреБрдЫ рд╕рд╛рд░ рдореЗрд░реЗ рд▓рд┐рдП рд╡рд╣рд╛рдБ рдЧрд┐рд░ рдЧрдпрд╛ред рддрд╕реНрд╡реАрд░ рдХреБрдЫ рдФрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕реА рдУрдкреЗрд░рд╛ рд╕реЗ)
рдмреЗрдЯреЗ рдиреЗ рджреЗрдЦрд╛ рдФрд░ рдЪрд┐рд▓реНрд▓рд╛рдпрд╛:
- рдкрд┐рддрд╛рдЬреА, рдЕрдХрд┐рд▓реАрдЬрд╝ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рджреЗрдЦреЗрдВ!)

рдореБрдЦреНрдп рд╕рд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред рд╕рд░реНрд╡рд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЕрджреНрдпрддрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЪрд┐рдкрдЯрдирд╛ред рдХреНрд░рд╛рдЙрди рдЬреЙрдм рдФрд░ рдбрдВрдк рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕рдВрдмрдВрдзрд┐рдд рдЯреИрдм рдкрд░ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВред рдмрд╛рдИрдВ рдУрд░ рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рд▓рд╛ рдПрдХ рдореЗрдиреВ рд╣реИред рдЪрд▓реЛ рдмреБрдХрдорд╛рд░реНрдХ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдмреБрдХрдорд╛рд░реНрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯред


рдпрд╣рд╛рдВ рд╣рдо рдЙрдкрд▓рдмреНрдз рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЗрдЦрддреЗ рд╣реИрдВ (рд╕рд░реНрд╡рд░ рд╕рднреА рдЯреИрдм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рд╣реИрдВ)ред рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдРрдб рдмрдЯрди рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред SH, PY, YML рдФрд░ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рддред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрдирд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╡рд░рдг ( рд╡рд┐рд╡рд░рдг ), рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ ( рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди ), рд▓реЗрдЦрдХ рдФрд░ рддрд╛рд░реАрдЦ рд╣реЛрддреА рд╣реИред SH рдФрд░ PY рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдк ( рд╡рд┐рдХрд▓реНрдк рдлрд╝реАрд▓реНрдб) рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ) рдХреЛ рдкреИрдирд▓ рдХреЗ рдХрд┐рд╕реА рднреА рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ ("рддреНрд╡рд░рд┐рдд" рдмрдЯрди рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рджреВрд╕рд░рд╛, рддреАрд╕рд░рд╛, рдЖрджрд┐) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рд╕рд░реНрд╡рд░ (рджреВрд╕рд░рд╛, рддреАрд╕рд░рд╛, рдЖрджрд┐) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд░рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЪрдпрдирд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрдпрдирд┐рдд рд╕рд░реНрд╡рд░ рдпрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рддреЗрдЬ" рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрдирд▓ рдкрд░ "рддреНрд╡рд░рд┐рдд" рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд░реНрд╡рд░ (рджреВрд╕рд░рд╛, рддреАрд╕рд░рд╛, рдЖрджрд┐) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░рди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╕рдордп, рдкрд░рд┐рд╡рд░реНрддрди рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛, рдПрд╕реНрдХреЗрд▓реНрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдХрдорд╛рдВрдб рдФрд░ рдкрд░рдорд┐рдЪреЛрди рдЬреЛрдбрд╝рд╛ред рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕реНрдХреЗрд▓реНрд╕ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рдПрдЪ рдФрд░ рдкреАрд╡рд╛рдИ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИрдВ, рд╡реЗ рд▓рдЧрднрдЧ рдЕрд╕реАрдорд┐рдд рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛) рдореИрдВ рдЦреБрдж рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдЙрдирдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд░реЛрдХрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдерд╛)ред
рдЖрдЧреЗ рдмрдврд╝реЛ, рд╕рд░реНрд╡рд┐рд╕ рдкреИрдХред


рдЗрд╕ рдЯреИрдм рдкрд░, рдЖрдк рдирдП рдЕрдкрдбреЗрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдХреЛрдИ рднреА рдлрд╝рд╛рдЗрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд txt рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реАрдХреНрд╖рдг рдЕрджреНрдпрддрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдпрд╣ рдПрдХ рдЬрд╝рд┐рдк рд╣реИ) рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЕрдкрдбреЗрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рд╡рд░рдг, рд▓реЗрдЦрдХ, рддрд┐рдерд┐ рдФрд░ рдЖрдХрд╛рд░ рднреА рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж рдбрдВрдк рдХрд░реЗрдВред


рдпрд╣ рдЧреЗрдЯ рдбрдВрдк рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрдВрдк рдХрд╛ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдирд╛рдо, рдЖрдХрд╛рд░ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рд╣реИред рд╢рд╛рдпрдж рд╕рднреА рди рдХреЗрд╡рд▓ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ (рджреЛ, рддреАрди) рднреЛрдЬрди рдХреЗ рдЖрдзрд╛рд░ рдХреЛ рдкреАрдЯрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕ рдЕрд╡рд╕рд░ рдХреЛ рдПрдХ рдирдП рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЧрдпрд╛) рдбрдВрдк рднреЗрдЬреЗрдВ рдпрд╣ рдХрдорд╛рдВрдб рдЪрдпрдирд┐рдд рдбрдВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдмреЗрд╕ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рдЕрд╡рд╕рд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ! (рдЖрдк рдлрд╛рд░реНрдЯрд┐рдВрдЧ рджрд░рд╛рд░ рдХреЛ рд╕реБрдирддреЗ рд╣реИрдВ) рд╣рд╛рдВ, рдЧрд▓рдд рд╣рд╛рдереЛрдВ рдореЗрдВ рдпрд╣ рдХрдорд╛рдВрдб рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рднреА рд╕рд░реНрд╡рд░ рдкрд░ рдХреБрдЫ рд╣реА рдХреНрд▓рд┐рдХ рдореЗрдВ рдорд╛рд░ рд╕рдХрддрд╛ рд╣реИ! рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕ (рдФрд░ рд╕рдорд╛рди) рдХрдорд╛рдВрдб рдХреЗ рдмрдЯрди рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рджрдмрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЙрд▓реНрдпреВрдо рдбрдВрдк рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдкрд░реАрдХреНрд╖рдг рдард┐рдХрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬ рд╣реИред рдХреНрд░реВрдиред


рдпрд╣ рд╕рд╛рд░рд╛ рдЕрдкрдорд╛рди рдореБрдХреБрдЯреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЯреИрдм рд╕рдХреНрд░рд┐рдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ ( рдХреНрд░реЙрд╕реНрдЯреИрдм рдЖрдИрдбреА ) рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрд╛рдж рдХреЗ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╡рд┐рд╡рд░рдг рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкрддрд╛ jboss @ localhost рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдкрд░ test2.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБред рдХрд╛рд░реНрдп рдХрд╛ рдкреНрд░рд╛рд░рдВрдн рд╕рдордп YYYY-MM-DD HH рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рджрд┐рдирд╛рдВрдХ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: MM рд▓реЗрдЦрдХ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рд╕рдВрдХреЗрддрд┐рдд рд╣реИрдВред рдЖрдк рдХрд╛рд░реНрдп рдХреЛ рд░рджреНрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдордп рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╛рд░реНрдп рдХреЛ рд╕реНрдерд╛рдпреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдкрд░ рд╣рд░ рджрд┐рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛), рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдмрд╛рд░ред
рд░рдирд┐рдВрдЧ рдХрдорд╛рдВрдб рдХреЗ рд▓реЙрдЧ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред


рдЖрдк рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмреИрдареЛ рдФрд░ рджреЗрдЦреЛ рдХреНрдпрд╛ рд╣реБрдЖ) рд▓реЙрдЧ рдкреНрд▓реЗрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреБрд▓рддрд╛ рд╣реИред рдпрджрд┐ рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рддреЛ рд╕рднреА рд▓реЙрдЧ рдмрдЯрди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рд╕рднреА рд▓реЙрдЧ рдХреЛ рдПрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреЛрд▓рддрд╛ рд╣реИ (рдореИрдВ рдЗрд╕ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рд▓реЗрдирд╛ рднреВрд▓ рдЧрдпрд╛)ред

рд╕рд░реНрд╡рд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╕рд░реНрд╡рд░ рдХреА рд╕реВрдЪреА рд╕рднреА рдЯреИрдм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕рд░реНрд╡рд░ рдкрддрд╛ ( ssh рдПрдбреНрд░реЗрд╕ ) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдлреЙрд░реНрдореЗрдЯ рдпреВрдЬрд░ @ рдПрдбреНрд░реЗрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ssh рдЙрдкрдирд╛рдо (~ / .ssh / config) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдХреБрдЫ рд╕рд╛рд░реНрдердХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред HTTP рдПрдбреНрд░реЗрд╕ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ URL рд╣реИред рдХрд╛рд░реНрдпрд╢реАрд▓ рдлрд╝реЛрд▓реНрдбрд░ ( рд╕рд░реНрд╡рд░ рдлрд╝реЛрд▓реНрдбрд░ ) рдФрд░ рдкреЛрд░реНрдЯ ( рд╕рд░реНрд╡рд░ рдмрд╛рдЗрдВрдб рдкреЛрд░реНрдЯ ), рдпрд╣ рд╡рд╣ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рд╡рд╣ рдкреЛрд░реНрдЯ рдЬреЛ рдЗрд╕реЗ рдЦреЛрд▓рддрд╛ рд╣реИ, рдХреНрд░рдорд╢рдГред рд╡рд┐рд╡рд░рдг, рд▓реЗрдЦрдХ, рджрд┐рдирд╛рдВрдХред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдиреЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп рдЬреЛрдбрд╝реЗ рдЧрдП рдХреБрдЫ рдирдП рдХрдорд╛рдВрдб рджрд┐рдЦрд╛рдП: рдкреНрд░реЛрдк рдФрд░ рдлреБрд▓ ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдореБрдЦреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдпреЗ рдХрдорд╛рдВрдб рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдмрд╛рдХреА рдЯреАрдоред рдкрд╣рд▓рд╛ рд▓рд╛рд▓:
ON \ OFF рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ - O_o рдЕрдиреБрд╕реВрдЪрд┐рдд рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕реВрдЪрд┐рдд рд░рдЦрд░рдЦрд╛рд╡ рдкреГрд╖реНрда рдХреЛ рд╕рдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдпрд╛ рдпрджрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрдВрдк рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж)ред
Reload config - jboss config (рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ jboss рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ) рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ \ start \ stop \ рдХрд┐рд▓ jboss - рд░реЛрдХреЗрдВ, рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ, jboss рдФрд░ рдПрдХ рдХреНрд░реВрд░ рд╣рддреНрдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдпрджрд┐ рдХреБрдЫ рдФрд░ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВ:
рд╕рд┐рд╕реНрдЯрдо рдЬрд╛рдирдХрд╛рд░реА - рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рддрд╛ рд╣реИ: рдореЗрдореЛрд░реА, рдбрд┐рд╕реНрдХ, рдкреНрд░реЛрд╕реЗрд╕рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВред
рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ - рдЖрд╡реЗрджрди рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдПрдХ рддреНрд╡рд░рд┐рдд рдЬрд╛рдВрдЪ, рдпрд╣ рдЖрд╡реЗрджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдмрдВрджрд░рдЧрд╛рд╣ рдЦреБрд▓рд╛ рд╣реИ рдФрд░ рдХрд░реНрд▓ рдХреЗ рд╕рд╛рде рдЗрд╕ рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рджрд╕реНрддрдХ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
рдЪреЗрдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ - рдЖрд╡реЗрджрди рд▓реЙрдЧ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рдЬреАрд╕реА рд▓реЙрдЧ рдЪреЗрдХ рдХрд░реЗрдВ - рд▓реЙрдЧ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рджрд┐рди / рд╕рдкреНрддрд╛рд╣ \ рдорд╣реАрдирд╛ \ рд╕рднреА рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рдЖрдкрдХреЛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдмреИрдХрдЕрдк рдЖрдзрд╛рд░ \ system \ full - рдбреЗрдЯрд╛рдмреЗрд╕, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рдмреИрдХрдЕрдк рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ, рджреЛрдиреЛрдВред
рдХреЙрдкреА рдмрд░реНрддрди - рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИред
рдкреАрдк рдкрд╛рд╕рд╡рд░реНрдб - рдЖрдкрдХреЛ рдПрдбрдорд┐рди рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ - рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдЕрдкрдбреЗрдЯ рдлрд╛рдЗрд▓реЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рд╣реИрдВред
рд╕реБрд░рдВрдЧ рдмрдирд╛рдПрдВ - рдЖрд╡реЗрджрди рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдкреНрд╕ рддрдХ рдХреЗ рдкреЛрд░реНрдЯ рдХреЛ рдЖрдЧреЗ (рд╣рдо рд╕рдм рдХреЗ рдмрд╛рдж ssh рд╣реИ)ред рдЖрдк рд╕реАрдзреЗ рдЖрд╡реЗрджрди рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╛рдердорд┐рдХ рдкрддреЗ рддрдХ рдкрд╣реБрдВрдЪ (http \ s) рдХреА рдХрдореА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд╛рдирдХрд╛рд░реА , рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЬрд╛рдВрдЪ , рдЪреЗрдХ рдХреА рдЬрд╛рдБрдЪ , рд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ , рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ , рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рд╕реБрд░рдВрдЧ рдмрдирд╛рдПрдБ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдкреИрдирд▓ рдкрд░ рд╕реАрдзреЗ "рддреНрд╡рд░рд┐рдд" рдПрдирд╛рд▓реЙрдЧ рд╣реИрдВред
рдКрдкрд░реА рдкреИрдирд▓ рдореЗрдВ рдПрдХ рдЗрддрд┐рд╣рд╛рд╕ рд▓рд┐рдВрдХ рд╣реИ, рд╕рднреА (рд▓рдЧрднрдЧ) рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкрд░реНрдорд┐рдЪрдиреНрд╕ рдорд╛рдирдХ Dzhangovsky рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рджреНрд╡рд╛рд░рд╛ рд▓рдЯрдХрд╛рдП рдЧрдП рд╣реИрдВред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЬреЛрдбрд╝реА рдереА, рдореИрдВрдиреЗ django-guardian рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ рдерд╛, рдЬреЛ рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдореБрдЭреЗ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧрд╛, рд▓реЗрдХрд┐рди djanga рдЗрд╕реЗ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдмреЗрд╢рдХ, рдореИрдВ рдПрдХ рд╡рд╛рдИ рдЧреБрд░реБ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдФрд░ рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА) рдЖрд╡рд╢реНрдпрдХ рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЯреАрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдУрд╣ ред рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред


рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдкрд╛рдпрдерди рдФрд░ dzhanga, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╡рд┐рдЪрд╛рд░, рдореЙрдбрд▓, URL, рдлрд╝реЙрд░реНрдо, рдпрд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрдорд╛рдВрдбрд╣реЛрдо рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЕрднреА рддрдХ рд╕рдм рдХреБрдЫ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдареАрдХ рд╣реИ?)ред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
class CommandClass: """ """ def __init__( self, permission='run_command', # Permission needed to run this command. position=1, # Position in commands list section='', # Section command will be placed to. style='', # Class assigned to a command button title='', # Pop up help message(via title) short='', # Short name for commands in quick section menu='', # Command name in UI name='', # Command name(an internal command name) run='', # Prevent CRONing his=True, # Command log will be saved to history fst=False, # Add command to quick section dgr='false', # If true will show confirmation window job='false', # Check if some cron jobs selected srv='false', # Check if some servers selected upd='false', # Check if some updates selected scr='false', # Check if some scripts selected dmp='false', # Check if some dumps selected ): self.permission = permission self.position = position self.section = section self.style = style self.title = title self.short = short self.name = name self.menu = menu self.run = run self.his = his self.fst = fst self.srv = srv self.upd = upd self.job = job self.scr = scr self.dmp = dmp self.dgr = dgr 

рдФрд░ рд╕рднреА рдореМрдЬреВрджрд╛ рдХрдорд╛рдВрдб рдХрдорд╛рдВрдбрд┐рдХ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рдбрд┐рдХреНрд╢рдирд░реА рдХрд╛ рдирд╛рдо рдХрдорд╛рдВрдб (рдХрдорд╛рдВрдб) рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА (рд╢рдмреНрджрдХреЛрд╢) рдкрд░ рдПрдХ рддрд░рд╣ рдХрд╛ рдирд╛рдЯрдХ рд╣реИ, рдЕрдВрдЧреНрд░реЗрдЬреА рдХреЗ рдкрд╛рд░рдЦреА рд╢рд╛рдпрдж рдХреБрдЫ рдФрд░ рдЫрд┐рдкреЗ рд╣реБрдП рдЕрд░реНрде рдкрд╛рдПрдВрдЧреЗред рд╢рдмреНрджрд╛рд╡рд▓реА:
 commandick = { # Cron submenu }----------------------------------- 'cancel_job': CommandClass( permission='run_cron', position=4, section='cron', title='Cancel selected cron job(s).', name='cancel_job', menu='Remove job', job='true', run="run_or_cron('RUN');", ), 'permanent_job': CommandClass( permission='run_cron', position=3, section='cron', title='Make selected cron job(s) permanent.', name='permanent_job', menu='Run everyday', job='true', run="run_or_cron('RUN');", ), ... 'tunnel': CommandClass( permission='tunnel', position=80, section='server', title='Make ssh tunnel to the bind port of selected server(s).', short='Tunnel', name='tunnel', menu='Create tunnel', run="run_or_cron('RUN');", srv='true', his=False, fst=True, ), 'test_ssh': CommandClass( permission='tunnel', position=90, section='server', title='Test ssh connection.', short='Tunnel', name='test_ssh', menu='Test ssh', run="run_or_cron('RUN');", srv='true', his=False, ), } 

рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд╣реИред рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдПрд░реЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ , рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ (рдХрдорд╛рдВрдб) рдХреЛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдЖрдП рд╣реИрдВ? рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╢рдмреНрджрдХреЛрд╢, рдУрд╣ рд╕рдм рдореЗрдВ рд╡рд░реНрдгрди рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдПрдХ рдЖрд╡реЗрджрди рд╣реИред Vangyu рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреАред рдЖрдкрдХреА рдКрдВрдЪрд╛рдИ ... рдХрд┐рд╕реНрд╕реЗ, рдореИрдВ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд▓реЛрдЧ рдирдП рд▓реЛрдЧ рдХреНрдпреЛрдВ рдмрдирд╛рддреЗ рд░рд╣рддреЗ рд╣реИрдВ? рдЖрдЦрд┐рд░рдХрд╛рд░, рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ... рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рддрдХ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рд╣реИ) рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рд╣реИ, рдЬреЛ рдореИрдВ рдЖрдкрдХреЛ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдмрдирд╛рдПрдВ, рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░реЗрдВ, рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ)

рдЕрдиреНрдп рд╢рд┐рд▓реНрдк
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЕрдкрдиреЗ рд╢рд┐рд▓реНрдк рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд░рдВрдЧ рдкреБрд╕реНрддрдХ рдХреЗ рд▓рд┐рдП ред рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдЕрдиреНрдп рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд░рдВрдЧрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИ:
 #--------------------------------------------------------------------+ #Color picker, usage: printf $BLD$CUR$RED$BBLU'Hello World!'$DEF | #-------------------------+--------------------------------+---------+ # Text color | Background color | | #-----------+-------------+--------------+-----------------+ | # Base color|Lighter shade| Base color | Lighter shade | | #-----------+-------------+--------------+-----------------+ | BLK='\e[30m'; blk='\e[90m'; BBLK='\e[40m'; bblk='\e[100m' #| Black | RED='\e[31m'; red='\e[91m'; BRED='\e[41m'; bred='\e[101m' #| Red | GRN='\e[32m'; grn='\e[92m'; BGRN='\e[42m'; bgrn='\e[102m' #| Green | YLW='\e[33m'; ylw='\e[93m'; BYLW='\e[43m'; bylw='\e[103m' #| Yellow | BLU='\e[34m'; blu='\e[94m'; BBLU='\e[44m'; bblu='\e[104m' #| Blue | MGN='\e[35m'; mgn='\e[95m'; BMGN='\e[45m'; bmgn='\e[105m' #| Magenta | CYN='\e[36m'; cyn='\e[96m'; BCYN='\e[46m'; bcyn='\e[106m' #| Cyan | WHT='\e[37m'; wht='\e[97m'; BWHT='\e[47m'; bwht='\e[107m' #| White | #----------------------------------------------------------+---------+ # Effects | #--------------------------------------------------------------------+ DEF='\e[0m' #Default color and effects | BLD='\e[1m' #Bold\brighter | DIM='\e[2m' #Dim\darker | CUR='\e[3m' #Italic font | UND='\e[4m' #Underline | INV='\e[7m' #Inverted | COF='\e[?25l' #Cursor Off | CON='\e[?25h' #Cursor On | #--------------------------------------------------------------------+ # Text positioning, usage: XY 10 10 'Hello World!' | XY () { printf "\e[$2;${1}H$3"; } # | #--------------------------------------------------------------------+ # Print line, usage: line - 10 | line -= 20 | line 'Hello World!' 20 | line () { printf -v LINE "%$2s"; printf "${LINE// /$1}"; } # | #--------------------------------------------------------------------+ 

рдмрдбрд╝реЗ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП, рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдирд╛ред
рдЫрд╡рд┐

рдЬреЛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ ~ / .shsh / config рд╕реЗ рдПрдХ рдореЗрдиреВ (рд╕рдВрд╡рд╛рдж) рдмрдирд╛рддреА рд╣реИред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ ~ / .ssh / config рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?) рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЫрд╡рд┐

рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рдИ-рдкрд╛рдИ!
рдмрд╣реБрдд рд╕реЗ рдкрд┐рдпреВ-рдкреАрдпреВ (рдЬреАрдердм рдкрд░ 550 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд┐рддрд╛рд░реЗ) рдХреЛ рдкрд╕рдВрдж рдХрд┐рдпрд╛, рдЖрдк рд╕рднреА рдХреЛ рдЕрдкрдиреА рддрд░рд╣ рдХреЗ рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдкреАрдпреВ-рдкреАрдпреВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реБрдирд╛? рдпрд╣рд╛рдВ , рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ рдкрдврд╝реЗрдВред рдореИрдВ рдкреНрд▓реЙрдЯ рдХреЛ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЦреЗрд▓ рдХреЛ рдмрдбрд╝рд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдирд╣реАрдВ рд╣реИред рдирдП рд╕рд╛рд▓ рдХреА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЦреЗрд▓ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╡реИрд╕реЗ, piu-piu apt'om рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 sudo apt install -y piu-piu 

рдЫрд╡рд┐

рдирдпрд╛ рд╕рд╛рд▓ рдореБрдмрд╛рд░рдХ рд╣реЛ!)

Source: https://habr.com/ru/post/hi428439/


All Articles