рдмреЛрд░реНрдЧ рдХреЗ рд╕рд╛рде рдмреИрдХрдЕрдк рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдЕрднреНрдпрд╛рд╕



рд╣рдорд╛рд░реЗ рдорд╣рд╛рди рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдЕрджреНрднреБрдд рдУрдкрди рд╕реЛрд░реНрд╕-рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рднреА рдЯреБрдХрдбрд╝рд╛ рдирд╣реАрдВ рдерд╛ - рдмреЛрд░реНрдЧ (рдПрдкрд┐рдиреЗрдЯрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рд╣реЛрдиреЗ рдХреА рдирд╣реАрдВ!) ред рдЪреВрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдмреЛрд░реНрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд "рдЗрдВрдкреНрд░реЗрд╢рди" рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред

рдкреГрд╖реНрдарднреВрдорд┐: рдмрдХреБрд▓рд╛ рдФрд░ рдмрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡


2017 рдореЗрдВ, рд╣рдо рдмрдХреБрд▓рд╛ рдФрд░ рдмреЗрд░реЛрдЬрд╝ рд╕реЗ рдердХ рдЧрдП рдереЗ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдХрд░рддреЗ рдереЗ (рдпрд╛рдиреА, рдЙрд╕ рд╕рдордп рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓рдЧрднрдЧ 9 рд╕рд╛рд▓)ред рдХреНрдпреЛрдВ? рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рд╣рдордиреЗ рдмрд╣реБрдд рдЕрд╕рдВрддреЛрд╖ рдЬрдорд╛ рдХрд┐рдпрд╛ рд╣реИ:

  • рдПрд╕рдбреА (рд╕реНрдЯреЛрд░реЗрдЬ рдбреЗрдореЙрди) рдЬрдорд╛ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рд╕рдорд╛рдирд╛рдВрддрд░рд╡рд╛рдж рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдПрд╕рдбреА рд░рдЦрд░рдЦрд╛рд╡ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдардВрдб рдЖрдЧреЗ рдХреЗ рдмреИрдХрдЕрдк рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд░реЛрдХ рджреЗрдЧреАред
  • рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд┐рдЧреНрд░реЗрд╢рди рдЬреЗрдирд░реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╢реЗрдл, рдЕрдиреНрд╕рд┐рдмрд▓, рдФрд░ рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдирд┐рджреЗрд╢рдХ, рдЙрд╕рдХреЗ рдкреБрди: рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЙрдард╛рдПред рдпрд╣ рдХреЗрд╡рд▓ рдкреБрдирдГ рд▓реЛрдб рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдФрд░ рдмрд╛рдж рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдХреЙрд▓ рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рддреНрд░реБрдЯрд┐ рдкрд╛рда рдХреЛ рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
  • рдмреИрдХрдЕрдк рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗрдВред рдмрдХреБрд▓рд╛ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рдкреНрд░рд╛рд░реВрдк рд▓рд┐рдЦрд╛, рдЬрд┐рд╕реЗ рдЖрдк рдХреЗрд╡рд▓ рдкрд╛рд░реНрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдпрд╛ рджреВрд╕рд░реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдореЗрдВ рдорд╛рдирдХ рдмреИрдХрдЕрдк рд╢реЗрдбреНрдпреВрд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
    • рдмреБрдзрд╡рд╛рд░ рдХреЛ рджреИрдирд┐рдХ рдкреВрд░реНрдг рдмреИрдХрдЕрдк рдФрд░ рдЕрдиреНрдп рджрд┐рдиреЛрдВ рдореЗрдВ рд╡реГрджреНрдзрд┐:
      Run = Level=Full Pool="Foobar-low7" wed at 18:00
      Run = Level=Incremental Pool="Foobar-low7" at 18:00
    • рдорд╣реАрдиреЗ рдореЗрдВ 2 рдмрд╛рд░ рд╡реЙрд▓-рдлрд╛рдЗрд▓реНрд╕ рдХрд╛ рдкреВрд░рд╛ рдмреИрдХрдЕрдк рдФрд░ рд╣рд░ рдШрдВрдЯреЗ рд╡реЗрддрди рд╡реГрджреНрдзрд┐:
      Run = Level=Full FullPool=CustomerWALPool 1st fri at 01:45
      Run = Level=Full FullPool=CustomerWALPool 3rd fri at 01:45
      Run = Level=Incremental FullPool=CustomerWALPool IncrementalPool=CustomerWALPool on hourly
    • рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ (рд╕рдкреНрддрд╛рд╣ рдХреЗ рд╣рд░ 2 рдШрдВрдЯреЗ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд┐рдиреЛрдВ) рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ schedule рд╣рдореЗрдВ 1665 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд┐рд▓рд╛ ... рдХреНрдпреЛрдВрдХрд┐ рдмрдХреБрд▓рд╛ / рдмрд░реЛрд╕ рд╕рдордп-рд╕рдордп рдкрд░ рдкрд╛рдЧрд▓ рд╣реЛ рдЧрдП рдереЗред
  • Bacula-fd (рдФрд░ bareos-fd) рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╣реИрдВ (40 рдЯреАрдмреА рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 35 рдЯреАрдмреА рдореЗрдВ рдмрдбрд╝реА рдлрд╛рдЗрд▓реЗрдВ [100+ рдПрдордмреА] рд╣реИрдВ, рдФрд░ рд╢реЗрд╖ 5 рдЯреАрдмреА рдореЗрдВ рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ [1 KB рд╕реЗ 100 рдПрдордмреА] ]) рдПрдХ рдзреАрдореА рдореЗрдореЛрд░реА рд░рд┐рд╕рд╛рд╡ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЙрддреНрдкрд╛рджрди рдкрд░ рдПрдХ рдмрд╣реБрдд рдЕрдкреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рд╣реИред

  • рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдмреИрдХрдЕрдк рдкрд░, рдмрдХреБрд▓рд╛ рдФрд░ рдмреЗрд░реЛрд╕ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдмрд╣реБрдд рдирд┐рд░реНрднрд░ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдбреНрд░рд╛рдЗрд╡ рд╣реИ? рдХрд┐рддрдиреА рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕реЗ рдЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП? рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рд╡реИрд╕реЗ, рдПрдХ (!) рдЧреИрд░-рд╡рд┐рднрд╛рдЬрди рддрд╛рд▓рд┐рдХрд╛ рд╕рднреА рдмреИрдХрдЕрдк рдореЗрдВ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рджреВрд╕рд░реА - рд╕рднреА рдмреИрдХрдЕрдк рдореЗрдВ рд╕рднреА рдкрдереЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рдеред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ + 40 рдЬреАрдмреА рдПрд╕рдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо 8 рдЬреАрдмреА рд░реИрдо рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ - рддреБрд░рдВрдд рдмреНрд░реЗрдХ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВред
  • рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдПрдХ рдФрд░ рдмрд┐рдВрджреБ рдХреЗ рдпреЛрдЧреНрдп рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП Bacula / Bareos рдирд┐рд░реНрджреЗрд╢рдХ рд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рдереАред рдирд┐рд░реНрджреЗрд╢рдХ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЙрди рдмрд╣реБрдд рд╡рд┐рд╢рд╛рд▓ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ ... рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рдХреЛ рдХреЗрд╡рд▓ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рднрд╛рд░реА рдмреИрдХрдЕрдк рд╢реБрд░реВ рд╣реБрдП - рднрд▓реЗ рд╣реА рд╡рд╣ рдЕрдВрддрд░ рдХрдИ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реЛред



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

рдмрдХреБрд▓рд╛ / рдмреЗрд░реЛрдЬрд╝ рдПрдХ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ (10-30) рдХреА рд╕рдорд╛рди рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдорд╣рд╛рди рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рд╣рдлреНрддреЗ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдереЛрдбрд╝реА рд╕реА рдмрд╛рдд рдЯреВрдЯ рдЬрд╛рддреА рд╣реИ? рдпрд╣ рдареАрдХ рд╣реИ: рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╛рд░реНрдп рдЕрдзрд┐рдХрд╛рд░реА (рдпрд╛ рдЕрдиреНрдп рдЗрдВрдЬреАрдирд┐рдпрд░) рдХреЛ рджрд┐рдпрд╛ - рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХреА рдорд░рдореНрдордд рдХреАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рдиреМрдХрд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реИрдХрдбрд╝реЛрдВ рдореЗрдВ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдмреИрдХрдЕрдк рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдкреНрддрд╛рд╣ рдореЗрдВ 5 рдорд┐рдирдЯ (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрдИ рдШрдВрдЯреЛрдВ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░рдирд╛) рдЧреБрдгрд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдерд╛ рдХрд┐ рджрд┐рди рдореЗрдВ 2 рдШрдВрдЯреЗ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмреИрдХрдЕрдк рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд╣рд░ рдЬрдЧрд╣ рдХреБрдЫ рдЯреНрд░рд┐рдлрд╝реНрд▓рд┐рдВрдЧ рдпрд╛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЯреВрдЯ рд░рд╣рд╛ рдерд╛ред

рддрдм рдХреЛрдИ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдПрдХ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреЛ рдмреИрдХрдЕрдк рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡рд╣ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рджрд╛рдврд╝реА рдФрд░ рдЧрдВрднреАрд░ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдкрдиреЗ рд▓реБрдХ рд╕реЗ, рдмреИрдХрдЕрдк рдХреА рддреБрд░рдВрдд рдорд░рдореНрдордд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрдмрдХрд┐ рд╡рд╣ рд╢рд╛рдВрддрд┐ рд╕реЗ рдХреЙрдлреА рдкреАрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рдЪ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реИред рд╣рд░ рдХреЛрдИ рдШрдбрд╝реА рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмреИрдХрдЕрдк рдХреА рдорд░рдореНрдордд рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ - рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдПрдХ рдЗрдВрдЬреАрдирд┐рдпрд░ред рд╣рдо рд╕рд┐рд░реНрдл рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЛрдВ рдкрд░ рдЗрди 2 рдШрдВрдЯреЗ рдПрдХ рджрд┐рди рдмрд┐рддрд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝реЗ рдЬреЛ "рдмрд╕ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред"

рдПрдХ рдирдП рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЛрд░реНрдЧ


рдЕрдиреНрдп рдУрдкрди рд╕реЛрд░реНрд╕ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЦреЛрдЬ рд╕рдордп рдХреЗ рд╕рд╛рде рдлреИрд▓ рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рдХреБрд▓ рд▓рд╛рдЧрддреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд┐рдВрджреБ рдкрд░ (рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓), рд╣рдорд╛рд░рд╛ рдзреНрдпрд╛рди "рдЕрд╡рд╕рд░ рдХреЗ рдирд╛рдпрдХ " рдкрд░ рдЧрдпрд╛ - рдмреЛрд░реНрдЧрдмреИрдХ (рдпрд╛ рдмрд╕ рдмреЛрд░реНрдЧ)ред рднрд╛рдЧ рдореЗрдВ, рдпрд╣ рд╣рдорд╛рд░реЗ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ (рдХрд╛рдо рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕реНрдерд╛рди рдкрд░) рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдереАред

рдмреЛрд░реНрдЧ рдХреЛ рдкрд╛рдпрдерди (рд╕рдВрд╕реНрдХрд░рдг> = 3.4.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдкреНрд░рджрд░реНрд╢рди-рдорд╛рдВрдЧ рдХреЛрдб (рд╕рдВрдкреАрдбрд╝рди, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рдЖрджрд┐) C / Cython рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдирд┐: рд╢реБрд▓реНрдХ рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ (3-рдЦрдВрдб) рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рд▓рд┐рдирдХреНрд╕ рд╕рд╣рд┐рдд рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, * рдмреАрдПрд╕рдбреА, рдореИрдХрдУрдПрд╕, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реНрддрд░ рдкрд░ рд╕рд┐рдЧреНрд╡рд┐рди рдФрд░ рд╡рд┐рдВрдбреЛрдЬ 10 рдХреЗ рд▓рд┐рдирдХреНрд╕ рд╕рдмрд╕рд┐рд╕реНрдЯрдоред рдмреЛрд░реНрдЧрдмреИрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЛрдХрдкреНрд░рд┐рдп рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдФрд░ рдЕрдиреНрдп рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕реНрд░реЛрдд рдХреЛрдб, рдЬрд┐рд╕реЗ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред - рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдмреЛрд░реНрдЧ рдиреЗ рд╣рдореЗрдВ рдЗрддрдирд╛ рд░рд┐рд╢реНрд╡рдд рдХреНрдпреЛрдВ рджреА? рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рд╣реИрдВ:

  • Deduplication : рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА (рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ)ред рдПрдХ рдПрдХрд▓ Borg рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рдпрд╛рдиреА, Borg- рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдХреЗ рднреАрддрд░ рдХреА рдлрд╛рдЗрд▓реЗрдВ n рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ, рдФрд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ Borg рдмреНрд▓реЙрдХ рдХрд╛рдЯ рджрд┐рдП рдЧрдП рд╣реИрдВред Deduplication рд╕рдВрдкреАрдбрд╝рди рд╕реЗ рдкрд╣рд▓реЗ рдареАрдХ рд╣реЛрддрд╛ рд╣реИред
  • рд╕рдВрдкреАрдбрд╝рди : рдХрдЯреМрддреА рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛ рднреА рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: lz4, lzma, zlib, zstdред рдХрд┐рд╕реА рднреА рдмреИрдХрдЕрдк рдХреА рдорд╛рдирдХ рд╡рд┐рд╢реЗрд╖рддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред
  • рдПрд╕рдПрд╕рдПрдЪ рдкрд░ рдХрд╛рдо : рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдмреЛрд░реНрдЧ рдмреИрдХрдЕрдкред рд╕рд░реНрд╡рд░ рдХреА рдУрд░, рдЖрдкрдХреЛ рдмрд╕ рдмреЛрд░реНрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрд╛рдд рд╣реИ! рдпрд╣рд╛рдВ рд╕реЗ, рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЬреИрд╕реЗ рдлрд╛рдпрджреЗ рддреБрд░рдВрдд рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдХреЗрд╡рд▓ рдХреБрдВрдЬрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдВрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╕рдордп рдмреЛрд░реНрдЧ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдЖрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

     $ cat .ssh/authorized_keys command="/usr/bin/borg serve" ssh-rsa AAAAB3NzaC1ycтАж 
  • рдпрд╣ рдкреАрдкреАрдП (рд╣рдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрдмрдВрдЯреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рдПрдХ рд╕реНрдерд┐рд░ рдмрд╛рдЗрдирд░реА рдореЗрдВ рджреЛрдиреЛрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╕реНрдерд┐рд░ рдмрд╛рдЗрдирд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдмреЛрд░реНрдЧ рд▓рдЧрднрдЧ рд╣рд░ рдЬрдЧрд╣ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЖрдзреБрдирд┐рдХ рдЧреНрд▓рд┐рдмрдХ рд╣реИред (рд▓реЗрдХрд┐рди рд╣рд░ рдЬрдЧрд╣ рдирд╣реАрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, CentOS 5. рдкрд░ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛)
  • рдкреБрд░рд╛рдиреЗ рдмреИрдХрдЕрдк рдХреА рд▓рдЪреАрд▓реА рд╕рдлрд╛рдИ ред рдЖрдк рдЕрдВрддрд┐рдо n рдмреИрдХрдЕрдк, рдФрд░ 2 рдмреИрдХрдЕрдк рдкреНрд░рддрд┐ рдШрдВрдЯреЗ / рджрд┐рди / рд╕рдкреНрддрд╛рд╣ рдХрд╛ рд╕рдВрдЧреНрд░рд╣рдг рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдВрддрд┐рдо рдмреИрдХрдЕрдк рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкрд┐рдЫрд▓реЗ 7 рджрд┐рдиреЛрдВ рдФрд░ 4 рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП 7 рджреИрдирд┐рдХ рдмреИрдХрдЕрдк рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рд╢рд░реНрддреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдЕрднреНрдпрд╛рд╕: рдмреЛрд░реНрдЧ рдХреЗ рд╕рд╛рде рдмреИрдХрдЕрдк рдХреИрд╕реЗ рдХрд░реЗрдВ?


рдмреИрдХрдЕрдк рдмрдирд╛рдиреЗ рдХреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

  1. рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдФрд░ рдорд╢реАрди рдХрд╛ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ рдмрд╛рдЗрдирд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдмреИрдХрдЕрдк рджреЗрдВрдЧреЗ:

     sudo wget https://github.com/borgbackup/borg/releases/download/1.1.6/borg-linux64 -O /usr/local/bin/borg sudo chmod +x /usr/local/bin/borg 

    рдиреЛрдЯ : рдпрджрд┐ рдЖрдк рдПрдХ рд╕реНрд░реЛрдд рдФрд░ рдПрдХ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреВрд░рд╛ рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдпреВрдЖрд░рдЖрдИ рдореЗрдВ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рд╣рдо рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдирд╣реАрдВред
  2. рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░, borg рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ:

     sudo useradd -m borg 

    рд╕рд░рд▓: рд╕рдореВрд╣реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдПрдХ рдорд╛рдирдХ рд╢реЗрд▓ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдПрдХ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рдеред
  3. рдЧреНрд░рд╛рд╣рдХ рдкрд░ рдПрдХ SSH рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ:

     ssh-keygen 
  4. рд╕рд░реНрд╡рд░ рдкрд░, borg рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдХреБрдВрдЬреА рдЬреЛрдбрд╝реЗрдВ:

     mkdir ~borg/.ssh echo 'command="/usr/local/bin/borg serve" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNdaDfqUUf/XmSVWfF7PfjGlbKW00MJ63zal/E/mxm+vJIJRBw7GZofe1PeTpKcEUTiBBEsW9XUmTctnWE6p21gU/JNU0jITLx+vg4IlVP62cac71tkx1VJFMYQN6EulT0alYxagNwEs7s5cBlykeKk/QmteOOclzx684t9d6BhMvFE9w9r+c76aVBIdbEyrkloiYd+vzt79nRkFE4CoxkpvptMgrAgbx563fRmNSPH8H5dEad44/Xb5uARiYhdlIl45QuNSpAdcOadp46ftDeQCGLc4CgjMxessam+9ujYcUCjhFDNOoEa4YxVhXF9Tcv8Ttxolece6y+IQM7fbDR' > ~borg/.ssh/authorized_keys chown -R borg:borg ~borg/.ssh рд╕реНрдерд╛рдиреАрдп / bin / рдмреЛрд░реНрдЧ рдХреА рд╕реЗрд╡рд╛" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNdaDfqUUf / XmSVWfF7PfjGlbKW00MJ63zal / рдИ / MXM + vJIJRBw7GZofe1PeTpKcEUTiBBEsW9XUmTctnWE6p21gU / JNU0jITLx + vg4IlVP62cac71tkx1VJFMYQN6EulT0alYxagNwEs7s5cBlykeKk / QmteOOclzx684t9d6BhMvFE9w9r + c76aVBIdbEyrkloiYd + vzt79nRkFE4CoxkpvptMgrAgbx563fRmNSPH8H5dEad44 / Xb5uARiYhdlIl45QuNSpAdcOadp46ftDeQCGLc4CgjMxessam + 9ujYcUCjhFDNOoEa4YxVhXF9Tcv8Ttxolece6y + IQM7fbDR'> ~ рдмреЛрд░реНрдЧ / .ssh mkdir ~borg/.ssh echo 'command="/usr/local/bin/borg serve" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNdaDfqUUf/XmSVWfF7PfjGlbKW00MJ63zal/E/mxm+vJIJRBw7GZofe1PeTpKcEUTiBBEsW9XUmTctnWE6p21gU/JNU0jITLx+vg4IlVP62cac71tkx1VJFMYQN6EulT0alYxagNwEs7s5cBlykeKk/QmteOOclzx684t9d6BhMvFE9w9r+c76aVBIdbEyrkloiYd+vzt79nRkFE4CoxkpvptMgrAgbx563fRmNSPH8H5dEad44/Xb5uARiYhdlIl45QuNSpAdcOadp46ftDeQCGLc4CgjMxessam+9ujYcUCjhFDNOoEa4YxVhXF9Tcv8Ttxolece6y+IQM7fbDR' > ~borg/.ssh/authorized_keys chown -R borg:borg ~borg/.ssh 
  5. рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдмреЛрд░реНрдЧ рд░реЗрдкреЛ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ:

     ssh borg@172.17.0.3 hostname #     borg init -e none borg@172.17.0.3:MyBorgRepo 

    -e рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рдБ, рдЖрдк рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдкреЙрдЬрд┐рдЯ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд╣рдо рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред MyBorgRepo рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ borg repo рд╣реЛрдЧрд╛ (рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - Borg рдЦреБрдж рд╣реА рд╕рдм рдХреБрдЫ рдХрд░ рджреЗрдЧрд╛)ред
  6. рдмреЛрд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкрд╣рд▓рд╛ рдмреИрдХрдЕрдк рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:

     borg create --stats --list borg@172.17.0.3:MyBorgRepo::"MyFirstBackup-{now:%Y-%m-%d_%H:%M:%S}" /etc /root 

    рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
    • --stats рдФрд░ --list рд╣рдореЗрдВ рдмреИрдХрдЕрдк рдФрд░ рдЙрд╕ рдкрд░ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЖрдБрдХрдбрд╝реЗ рджреЗрддреЗ рд╣реИрдВ;
    • borg@172.17.0.3:MyBorgRepo - рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдпрд╣ рд╣рдорд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред рдФрд░ рдЬрд╛рджреВ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?
    • ::"MyFirstBackup-{now:%Y-%m-%d_%H:%M:%S}" рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЕрдВрджрд░ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдирд╛рдо рд╣реИред рдпрд╣ рдордирдорд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо _-timestamp (рдкрд╛рдпрдерди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк) рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ? рдмреЗрд╢рдХ, рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдмреИрдХрдЕрдк рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛! рднрдВрдбрд╛рд░ рдХреЗ рдЕрдВрджрд░ рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА:

 borg@b3e51b9ed2c2:~$ borg list MyBorgRepo/ Warning: Attempting to access a previously unknown unencrypted repository! Do you want to continue? [yN] y MyFirstBackup-2018-08-04_16:55:53 Sat, 2018-08-04 16:55:54 [89f7b5bccfb1ed2d72c8b84b1baf477a8220955c72e7fcf0ecc6cd5a9943d78d] 

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

рд╣рдо рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ:

 borg list MyBorgRepo::MyFirstBackup-2018-08-04_16:55:53 

рд╣рдореЗрдВ рдмреИрдХрдЕрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ (рдЖрдк рдкреВрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ):

 borg@b3e51b9ed2c2:~$ borg extract MyBorgRepo::MyFirstBackup-2018-08-04_16:55:53 etc/hostname borg@b3e51b9ed2c2:~$ ll etc/hostname -rw-r--r-- 1 borg borg 13 Aug 4 16:27 etc/hostname 

рдмрдзрд╛рдИ рд╣реЛ, рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдмреЛрд░реНрдЧ рдмреИрдХрдЕрдк рддреИрдпрд╛рд░ рд╣реИ!

рдЕрднреНрдпрд╛рд╕: рдЗрд╕реЗ [GitLab рдХреЗ рд╕рд╛рде] рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ!


рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдпрд╣ рд╕рдм рд▓рдкреЗрдЯрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓рдЧрднрдЧ 40 рдореЗрдЬрдмрд╛рдиреЛрдВ рдкрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдмреИрдХрдЕрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдмреЛрд░реНрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдФрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ ...

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

рдкреНрд░рд╢реНрди рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд▓рдЧрднрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереАрдВ:

  • рдХреЗрдВрджреНрд░реАрдХреГрдд рдмреИрдХрдЕрдк рдкреНрд░рдмрдВрдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?
  • рдХреЛрдИ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд╛рд╕рдХ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
  • рдПрдХ рдкреНрд░рдмрдВрдзрдХ рднреА рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рдмреИрдХрдЕрдк рд╢реЗрдбреНрдпреВрд▓ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рд╡рд╣ рд╕рдордЭрдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
  • рд╣рд░ рджрд┐рди рдПрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдп рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ?
  • рдХреНрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдирд╣реАрдВ рдЯреВрдЯреЗрдЧрд╛? "

рдЬрд╡рд╛рдм рд╕реНрдкрд╖реНрдЯ рдерд╛: рдпрд╣ рдЕрдЪреНрдЫрд╛ рдкреБрд░рд╛рдирд╛ рдХреНрд░реЛрди рд╣реИ, рдЬреЛ рд╣рд░ рджрд┐рди рд╡реАрд░рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдирд╛ рдХрд░реНрддрд╡реНрдп рдирд┐рднрд╛рддрд╛ рд╣реИред рд╕рд░рд▓ред рдпрд╣ рдЬрдорддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд░рдмрдВрдзрдХ рдЬреЛ рдпреВрдирд┐рдХреНрд╕ рд╕реЗ "рдЖрдк" рд╣реИ, рдЙрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рддреЛ crontab, рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рд╕рдм рдХрд╣рд╛рдБ рд░рдЦрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣рд░ рдмрд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд╢реАрди рдкрд░ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдлрд╛рдЗрд▓ рдХреЛ рдПрдбрд┐рдЯ рдХрд░рдирд╛ рд╣реИ? рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред рд╣рдо рдЕрдкрдиреЗ рд╢реЗрдбреНрдпреВрд▓ рдХреЛ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ GitLab Runner рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдорд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛ред

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

рдЖрдк рдПрдХ рдкрд░рд┐рдЪрд┐рдд рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рдпрд╛ рдЖрдо рддреМрд░ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ (рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдпрд╛ рдШрд░реЗрд▓реВ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдкрд░) рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдЯреИрдм рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рддреЛ, рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдЖрдк рд╕рд░рд▓ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП:

1. рдЧрд┐рдЯрд▓реИрдм рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА , рдЬрд┐рд╕рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреА:

  • schedule - рдмреИрдХрдЕрдк рдЕрдиреБрд╕реВрдЪреА
  • borg_backup_files.sh - рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдКрдкрд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ)ред

schedule рдЙрджрд╛рд╣рд░рдг:

 # WARNING! CRONTAB MANAGED FROM GITLAB CI RUNNER IN ${CI_PROJECT_URL} # CI_COMMIT_SHA: ${CI_COMMIT_SHA} # Branch/tag: ${CI_COMMIT_REF_NAME} # Timestamp: ${TIMESTAMP} PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # MyRemoteHost 0 0 * * * ${CI_PROJECT_DIR}/borg_backup_files.sh 'SYSTEM /etc,/opt' 

рд╕реАрдЖрдИ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ crontab рдЕрдкрдбреЗрдЯ рд╕рдлрд▓ рдерд╛, рдФрд░ CI_PROJECT_DIR рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд░рдирд░ рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реЛрдЧреАред рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рд╣рд░ рджрд┐рди рдЖрдзреА рд░рд╛рдд рдХреЛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг borg_backup_files.sh :

 #!/bin/bash BORG_SERVER="borg@10.100.1.1" NAMEOFBACKUP=${1} DIRS=${2} REPOSITORY="${BORG_SERVER}:$(hostname)-${NAMEOFBACKUP}" borg create --list -v --stats \ $REPOSITORY::"files-{now:%Y-%m-%d_%H:%M:%S}" \ $(echo $DIRS | tr ',' ' ') || \ echo "borg create failed" 

рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдмреИрдХрдЕрдк рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕реВрдЪреА рд╣реИ, рдЬреЛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рдирд╛, рдПрдХ рд╕реВрдЪреА рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред

2. GitLab рд░рдирд░ , рдЙрд╕ рдорд╢реАрди рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмреИрдХрдЕрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рд╣реИред

3. рд╕реАрдЖрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА , .gitlab-ci.yml рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд:

 stages: - deploy Deploy: stage: deploy script: - export TIMESTAMP=$(date '+%Y.%m.%d %H:%M:%S') - cat schedule | envsubst | crontab - tags: - borg-backup 

4. gitlab-runner рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП SSH рдХреБрдВрдЬреА gitlab-runner рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдБрдЪ рдХреЗ рд╕рд╛рде (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ 10.100.1.1 рд╣реИ)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ gitlab-runner .ssh/id_rsa рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА ( gitlab-runner ) рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рд╣реА 10.100.1.1 рдкрд░ borg рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ borg serve рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде:

 $ cat .ssh/authorized_keys command="/usr/bin/borg serve" ssh-rsa AAAAB3NzaC1yc2EAA... 

рдЕрдм, рдЬрдм рдЖрдк рд░рдирд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЙрдиреНрдЯреИрдм рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░реЗрдЧрд╛ред рдФрд░ рдЬрдм рдХреНрд░реЛрди рдХрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдЖрддрд╛ рд╣реИ, рддреЛ /etc рдФрд░ /opt рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдПрдХ рдмреИрдХрдЕрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ MyHostname-SYSTEM рд╕рд░реНрд╡рд░ рдХреЗ MyHostname-SYSTEM рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрдЧрд╛ред



рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп: рдЖрдк рдФрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?


рдЗрд╕ рдкрд░ рдмреЛрд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╡рд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЖрдЧреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдШрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ:

  • рд╡рд┐рднрд┐рдиреНрди рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВ , рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдЕрдВрдд рдореЗрдВ borg_backup_files.sh рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк PostgreSQL (pg_basebackup), MySQL (innobackupex), GitLab (рдмрд┐рд▓реНрдЯ-рдЗрди рд░реЗрдХ рдЬреЙрдм, рдПрдХ рдЖрд░реНрдХрд╛рдЗрд╡ рдмрдирд╛рдиреЗ) рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
  • рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХреЗрдВрджреНрд░реАрдп рдореЗрдЬрдмрд╛рди ред рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ GitLab рдзрд╛рд╡рдХ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ? рдЗрд╕реЗ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдХреЗрд▓реЗ рд░рд╣рдиреЗ рджреЗрдВ, рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ crontab рдмреИрдХрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдорд╢реАрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдЪрд▓рд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдорд╢реАрди рдФрд░ ssh-agent рдкрд░ borg рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдкрд░ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдХреА рдХреБрдВрдЬреА рдХреЛ рди рд░рдЦреЗрдВред
  • рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ред рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╣рд╛рдБ! рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкреВрд░реНрдг рдХрд┐рдП рдЧрдП рдмреИрдХрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рд░реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдкреБрд░рд╛рдиреЗ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рд╕реЗ рдХреНрд▓рд┐рдпрд░рд┐рдВрдЧ рдмреЛрд░реНрдЧ рднрдВрдбрд╛рд░ред рдЕрдЪреНрдЫреЗ рд╕рдорд░реНрдкрдг рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдкреБрд░рд╛рдиреЗ рдмреИрдХрдЕрдк рдХреЛ рдЕрднреА рднреА рд╕рд╛рдл рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдмреИрдХрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ borg prune рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЕрдиреБрд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ ред рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ рдЕрдЧрд░ рд╣рд╛рде рд╕реЗ рдпрд╛ рд╡реЗрдм-рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХреЙрдиреНрдЯреИрдм рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдареЛрд╕ / рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред
  • рдкрд╛рдИ рдЪрд╛рд░реНрдЯ ред рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд┐рдП рдЧрдП рдмреИрдХрдЕрдк рдХреЗ рдкреНрд░рддрд┐рд╢рдд, рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп, "рдЦрд╛рдпрд╛" рдЪреИрдирд▓ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд░реЗрдЦрд╛рдВрдХрдиред рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рдХрд┐ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╡реЗрдмрдпреВрдЖрдИ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдмрд░реЛрд╕ рдореЗрдВ ...
  • рд╕рд░рд▓ рдХреНрд░рд┐рдпрд╛рдПрдВ рдЬреЛ рдореИрдВ рдПрдХ рдмрдЯрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдорд╛рдВрдЧ рдкрд░ рдПрдХ рдмреИрдХрдЕрдк рд▓реЙрдиреНрдЪ рдХрд░рдирд╛, рдорд╢реАрди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдЖрджрд┐ред

рдФрд░ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдПрдХ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ PostgreSQL рд╡рд╛рд▓ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рдо рдХрд░ рдмреИрдХрдЕрдк рдкрд░ рд╕рдорд░реНрдкрдг рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

 borg@backup ~ $ borg info PROJECT-PG-WAL Repository ID: 177eeb28056a60487bdfce96cfb33af1c186cb2a337226bc3d5380a78a6aeeb6 Location: /mnt/borg/PROJECT-PG-WAL Encrypted: No Cache: /mnt/borg/.cache/borg/177eeb28056a60487bdfce96cfb33af1c186cb2a337226bc3d5380a78a6aeeb6 Security dir: /mnt/borg/.config/borg/security/177eeb28056a60487bdfce96cfb33af1c186cb2a337226bc3d5380a78a6aeeb6 ------------------------------------------------------------------------------ Original size Compressed size Deduplicated size All archives: 6.68 TB 6.70 TB 19.74 GB Unique chunks Total chunks Chunk index: 11708 3230099 

рдпреЗ 65 рджрд┐рдиреЛрдВ рдХрд╛ рдмреИрдХрдЕрдк рд╣реИрдВ, рдЬреЛ рд╣рд░ рдШрдВрдЯреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрдХреБрд▓рд╛ / рдмреЗрд░реЛрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЕрд░реНрдерд╛рддреНред рдХрдЯреМрддреА рдХреЗ рдмрд┐рдирд╛, рд╣рдореЗрдВ 6.7 рдЯреАрдмреА рдбреЗрдЯрд╛ рдорд┐рд▓реЗрдЧрд╛ред рдЬрд╝рд░рд╛ рд╕реЛрдЪрд┐рдП: рд╣рдо рд▓рдЧрднрдЧ 7 рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдХреНрдпреВрдПрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рдХрд╛ рдХреЗрд╡рд▓ 20 рдЬреАрдмреА рд╣реИред

рдкреБрдирд╢реНрдЪ


рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ:

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


All Articles