Fabric: рдлреИрдм рдореЗрдВ рдЯрдирд▓рд┐рдВрдЧ рдкреНрд░рд╕рдВрдЧ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдЕрдЧре░ 2011  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fabric/fabric

рд╡рд┐рд╡рд░рдг

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рджреВрд░рд╕реНрде MySQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
MySQL рдХреНрд▓рд╛рдЗрдВрдЯред

рд╣рдо "рд╕рд╛рде" рд╕рдВрджрд░реНрдн рдХрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХреБрдЫ:

with tunnel(local=3307, remote=3306):
    local('mysql --port=3007 --host=localhost' mydb < db/dbdump.sql')

рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ mysql рдбрдВрдк рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛
рд╕рд┐рд░реНрдл рдЖрдпрд╛рдд рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред

рдПрдХ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪреЗрд░реЛрдХреА рд╡реЗрдм рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪреЗрд░реЛрдХреА рд╡реЗрдм рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗрд╡рд▓ рдЙрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ
рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рддреЛ рдЖрдк рдЙрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╕реБрд░рдВрдЧ рдмрдирд╛рдирд╛ рд╣реИ
рд╕рд░реНрд╡рд░ рдореЗрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрдХ рдкрд╣реБрдВрдЪреЗрдВред
рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╕рд░рд▓ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

with tunnel(local=9090, remote=9090):
   sudo('cherokee-admin')
   prompt('Stop cherokee admin?')

рд╡рд╣ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рд╕реБрд░рдВрдЧ рдХреЛ рддрдм рддрдХ рдЦреБрд▓рд╛ рд░рдЦреЗрдЧреА рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдЗрдирдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдмрдВрдж рди рд╣реЛ рдЬрд╛рдПред


рдореВрд▓ рд░реВрдк рд╕реЗ 2009-11-02 рдХреЛ 09:30 рдкреВрд░реНрд╡рд╛рд╣реНрди EST . рдкрд░ рддрд╛рд░рд╛рд╕ рдордирдХреЛрд╡реНрд╕реНрдХреА (рдЯрд╛рд░рд╕рдо) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛

рд╕рдВрдмрдВрдзреЛрдВ

  • #38 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд: рдЯрдирд▓рд┐рдВрдЧ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

939 рдЕрднреА рднреА рдПрдХ рд░рд┐рд▓реАрдЬ рдмрдХреЗрдЯ рдореЗрдВ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЧрд╛рдореА 1.11 рд╕реЗ рдЕрднреА рдкреЗрдВрдЯ рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ _some_ рд╕рд╛рдорд╛рди рдХрд╛рдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдЧрд▓реЗ рдлреАрдЪрд░ рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдорд┐рд▓реЗрдЧреАред (рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #1218 #939 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдЪреЗрдВрдЬрд▓реЙрдЧ рдореЗрдВ #939 рдХреНрд░реЗрдбрд┐рдЯ рдХрд░ рджреВрдВрдЧрд╛ред)

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬреЗрдл рдлреЛрд░реНрд╕рд┐рдпрд░ ( рдмрд┐рдЯрдкреНрд░реЛрдлреЗрдЯ ) рдиреЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛:


(рд╕рдВрд╢реЛрдзрд┐рдд рд╡рд┐рд╡рд░рдг рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдмреНрд▓реЙрдХ рдЗрдВрдбреЗрдВрдЯ рдХрд┐рдП рдЧрдП рдереЗ :))


2009-11-02 рдХреЛ 09:35 рдкреВрд░реНрд╡рд╛рд╣реНрди рдИрдПрд╕рдЯреА

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╕реБрд░рдВрдЧ рджреВрд╕рд░реА рддрд░рдл рднреА рд╕рдорд░реНрдерди рдХрд░реЗрдЧреАред рдорддрд▓рдм рд░рд┐рдореЛрдЯ рдкрд░ рд╕реБрдирдирд╛ рдФрд░ рдЗрд╕реЗ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ/рдЕрдиреНрдп рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрд╕реНрдЯ: рдкреЛрд░реНрдЯ рдореЗрдВ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдирд╛ред

@munhitsu рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдХреИрд╕реЗ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдПрдХ рдРрд╕реЗ рдбреАрдПрдордЬреЗрдб рд╕реЗрдЯрдЕрдк рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдЙрдЯрдмрд╛рдЙрдВрдб http/рдкреНрд░реЙрдХреНрд╕реА рдПрдХреНрд╕реЗрд╕ рди рд╣реЛред
рдкреВрд░реА рддреИрдирд╛рддреА рдХрдкрдбрд╝реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреА рд╣реИред

рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рд╕реБрд░рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдкрдбрд╝реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрдЬрдмрд╛рди рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрдордЬреЗрдб рдореЗрдВ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЕрднреА рдореИрдВ рджреВрд╕рд░реЗ рдХрдВрд╕реЛрд▓ рдкрд░ рдПрдХ рдЕрд▓рдЧ ssh рдЯрдирд▓ рдЦреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдлреИрдмреНрд░рд┐рдХ рдЗрд╕ рдЯрдирд▓ рдХреЗ "рд╕рдВрджрд░реНрдн" рдХреЗ рднреАрддрд░ рдХрд╛рдо рдХрд░реЗред

рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ:

with rev_tunnel(local=8080, remote=8080):
    sudo("http_proxy='http://localhost:8080' apt-get install -y puppet")

рдареАрдХ рд╣реИ, рддреЛ рдореЗрд░реЗ рдЕрдиреБрдорд╛рди рдХреЗ рдмрд╛рдж рдпрд╣ рдПрдХ рдХрд╛рдлреА рдорд╛рдирдХ рд░рд┐рд╡рд░реНрд╕ рдЯрдирд▓ рд╕реЗрдЯрдЕрдк рд╣реИ, рдФрд░ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛ рдлрд┐рд░ рд╕реЗ: рдлреИрдмреНрд░рд┐рдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯрдирд▓ рдмрдирд╛рдо рдЖрдкрдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреИрд╕реЗ local(ssh -R ...) ред

рдореИрдВ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреИрдмреНрд░рд┐рдХ рдореЗрдВ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ; рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рд╣реИрдХреА рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдереНрд░реЗрдб рдпрд╛ рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ ssh рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЬрдм рдлреИрдм рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдореБрдЭреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреА рд╡реИрдзрддрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ (рд╕реНрдерд╛рдиреАрдп рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рджреВрд░рд╕реНрде рдЫреЛрд░ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрдиред)

рдореБрдЦреНрдп рдмрд╛рдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрд╕рдПрд╕рдПрдЪ рд▓рд┐рдм рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ; рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЕрдЧрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдкрд░реЛрдХреНрдд ssh -R рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛ рдареЛрд╕ рдмрдирд╛рдирд╛ред)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: # 38 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдкреИрдЪрд┐рдВрдЧ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмрд╕ рд╡рд╣рд╛рдВ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдкрд░, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╕рдВрджрд░реНрдн рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рддрд╛рдХрд┐ рд╣рдо рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ, рд╕рдВрджрд░реНрдн рдЫреЛрдбрд╝ рджреЗрдВ, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░ рдХрдИ рд╕реНрддрд░реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореБрд╢реНрдХрд┐рд▓ рд╣реИрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ: рдЬреЛ рдХреБрдЫ рднреА рд╣рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд░реАрдм рд░рдЦрддрд╛ рд╣реИ рд╡рд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдЕрднреА рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдмрд╕ рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╛рд░реАрдХ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕реЗ 1.4 рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдирд╣реАрдВ рднреВрд▓рддрд╛ред рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ #38 рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╣реЛрдЧрд╛ рддреЛ рдпрд╣рд╛рдВ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛, рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ #38 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ рдПрд╕рдПрд╕рдПрдЪ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВ, рдПрд╕рдПрд╕рдПрдЪ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рд╕реБрд░рдВрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо, рдЕрддрд┐рд░рд┐рдХреНрдд) рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрднреА рдХреЗ рд▓рд┐рдП рдкрдВрдЯрд┐рдВрдЧ, рд╕реЙрд░реА :) (рдорддрд▓рдм: рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИ, рдмрд╕ 1.5 рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред)

рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд░рд┐рдореЛрдЯ rsync рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдкреЛрд░реНрдЯ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдкреИрд░рд╛рдореАрдХреЛ рдХреЗ рдлреЙрд░рд╡рд░реНрдб.рдкреАрдИ рдбреЗрдореЛ рдХреЛрдб рдореЗрдВ рдирдореВрдирд╛ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдЬреЛ рдореЗрд░реЗ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕реЗ рдпрд╣рд╛рдБ рдлрд╝реЙрд░рд╡рд░реНрдб.py рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛: https://github.com/paramiko/paramiko/pull/504/

рд╣рдо рдЙрд╕ рдкреИрдЪ рд╕реЗ ForwardServer рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ local_tunnel() рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ ForwardServer рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реИред рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдкрд░ @bitprophet рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди local_tunnel() рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреИрдЪ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

@haridsv рдпрджрд┐ рдЖрдк рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдФрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕ рдкреИрдЪ рдкрд░ (# 939), рдорджрдж рдХрд░реЗрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдмрд╕ рдзреИрд░реНрдп рд░рдЦреЗрдВ :) рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ? рджреЛ рдмрдХрд╛рдпрд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рд╛рде рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рд╕рдореАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ? рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдо рдЗрд╕реЗ рдЧрддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

939, #1218

рдореИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ #1218 рдореЗрдВ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

939 рдЕрднреА рднреА рдПрдХ рд░рд┐рд▓реАрдЬ рдмрдХреЗрдЯ рдореЗрдВ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЧрд╛рдореА 1.11 рд╕реЗ рдЕрднреА рдкреЗрдВрдЯ рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ _some_ рд╕рд╛рдорд╛рди рдХрд╛рдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдЧрд▓реЗ рдлреАрдЪрд░ рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдорд┐рд▓реЗрдЧреАред (рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #1218 #939 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдЪреЗрдВрдЬрд▓реЙрдЧ рдореЗрдВ #939 рдХреНрд░реЗрдбрд┐рдЯ рдХрд░ рджреВрдВрдЧрд╛ред)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

SamuelMarks picture SamuelMarks  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

neemxyang picture neemxyang  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

yuvadm picture yuvadm  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

acdha picture acdha  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

26huitailang picture 26huitailang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ