OOP рдФрд░ sitters рдХреЗ рдмрд┐рдирд╛ Yandex.Disk рдкрд░ рдмреИрдХрдЕрдк рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ

рдХрд▓ рд╕реЗ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ, рдПрдХ рдкреЛрд╕реНрдЯ рдирдВрдмрд░ 206752 рдореЗрдВ рд╡рд╛рд╕рд┐рдХрд╛рдХрд╛ рд╣реЗрдмреНрд░рд╛рдпреБрдЬрд╝рд░ рдХреЛ рд╣реЗрдмреНрд░реЛрд╕реЛрд╕рд┐рдЯреА рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд╕рд╛рде, Yandex.Disk рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рдХрд╕рд┐рдд рд╡рд░реНрдЧред рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдмреИрдХрдЕрдк рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг php рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рд╕рд╛рдЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ WebDAV рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдХреЛрдИ рдЗрд╕реЗ рдкрд╕рдВрдж рднреА рдХрд░реЗрдЧрд╛ред

рдЕрдЧрд░ рдХреЛрдИ рдкреВрд░реА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдкрд░ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕рдмрд╕реЗ рдиреАрдЪреЗ рд╣реИ ред

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


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

рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рд╕ рдмрд╛рджрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ


рдЪреВрдВрдХрд┐ рдлрд╛рдЗрд▓реЗрдВ WebDAV рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд▓рд┐рдкрд┐ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд┐рд╕реА рднреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВрдиреЗ рдХреЗрд╡рд▓ Yandex рдФрд░ Mail.Ru рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдбрд╛рдЙрдирд▓реЛрдб рд╕рдлрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд▓рд╛рдЙрдб рдкрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 2013.12.22 рддрдХ, рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП Mail.Ru рдХрд╛ рд╕рдорд░реНрдерди рдХрд╣реАрдВ рднреА рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рд╣реИред рд╕рд╛рд╡рдзрд╛рдиреА рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред

рд╕реЗрдЯрд┐рдВрдЧреНрд╕


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдкрде

рд▓реЙрдЧрд┐рди рдкреВрд░реНрдг рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдПрдХ рдХреБрддреНрддреЗ рдФрд░ рдПрдХ рдбреЛрдореЗрди рдХреЗ рд╕рд╛рдеред рдкрд╛рд╕рд╡рд░реНрдб рдХрд┐рд╕реА рднреА рд╕реНрд╡рд╛рднрд┐рдорд╛рдиреА рдкрд╛рд╕рд╡рд░реНрдб рдХреА рддрд░рд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ - рдЗрд╕рдХреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВред
$WebDAV = [ 'login'=>'', 'password'=>'', 'url'=>'https://webdav.yandex.ru/backups/sites/',//  'url'=>'https://webdav.cloud.mail.ru/backups/sites/',// Mail.Ru ]; 
рдХреНрд▓рд╛рдЙрдб рдХрд╛ рдкрде рдФрд░ рд▓рдХреНрд╖реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝реЛрд▓реНрдбрд░ рдЬрд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ рдХреАрдорддреА рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИ рдХрд┐ рд╡рд╣ рд╕реНрд╡рддрдГ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛ рдкрд╛рдПрдЧреАред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбрд╛рдЙрдирд▓реЛрдб рдЕрднреА рднреА рдЪрд▓реЗрдЧрд╛ред рдпрд╛рдВрдбреЗрдХреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рдЬрди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рдмрд╕ рдПрдХ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдЪрд┐рдкрдХрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВред Mail.Ru рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдПрдХ рд╕рдорд╛рдкрди рд╕реНрд▓реИрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдкрде

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

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

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реВрдЪреА

рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕реЗ рдЖрдк $ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
 $databases = [['login' => '', 'password' => '', 'dbname' => '']]; 


рд╕рд╛рдЗрдЯреЛрдВ рдХреА рд╕реВрдЪреА

$ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдПрдХ рд╕рджрд╕реНрдп рдХреЗ рдорд╛рдирдХ рджреГрд╢реНрдп рд╕рд░рдгреА рдХреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╕рд╛рдЗрдЯреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред
  'name' => 'site1.ru', 'path' => '/var/www/site1.ru', 'exclude' => [] 

рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд╛рдЗрдЯ рдХрд╛ рдирд╛рдо рд╣реИред рдмрд╕ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬрд┐рд╕реЗ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдирд╛рдо рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ред
рджреВрд╕рд░рд╛ рд╕рд╛рдЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдкрде рд╣реИред
рддреАрд╕рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдХреЗ рдЕрдВрджрд░ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд╕рдВрдЧреНрд░рд╣рдг рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
  'exclude' => [ $backupPath, //   ,        '/var/www/site2.ru/temp' // -  ] 


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

рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЫреЛрдЯрд╛ рд╣реИ, рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рдЬрди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рддреЛ рдЖрдк рдХрдо рд╕реЗ рдХрдо рд╣рд░ рдШрдВрдЯреЗ рдПрдХ рдореБрдХреБрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╣реА рдирд╛рдо рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдФрд░ Yandex.Disk рджреЛрдиреЛрдВ рдкрд░ рд╣реА рд▓рд┐рдЦреА рдЬрд╛рдПрдВрдЧреАред рдЕрдЧрд▓реЗ рджрд┐рди, рдПрдХ рдирдИ рддрд╛рд░реАрдЦ рдФрд░ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рдирд╛рдо рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА:
site1.ru.2013-12-20.zip
рдпрджрд┐ рдЖрдк рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЛ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд▓рд╛рдЗрди рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
 $date = date('Ym-d'); 
рдкрд░
 $date = date('YmdHi-s'); 
рдФрд░ рдлрд┐рд░ рддрд╛рд░реАрдЦ рд╕реЗрдХрдВрдб рддрдХ рд╣реЛрдЧреАред

рд╕реБрдиреЗрдВ рдФрд░ рдХрд╣реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ


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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдм рдХреБрдЫ


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

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

UPD: рд╕рд╣реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж vk2 рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреА рдореЗрдВ рдЖрдкрдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рд▓реЙрдЧрд┐рди рд╕рд░реНрд╡рд░ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

UPD: рдзрдиреНрдпрд╡рд╛рдж рдХреЛрд╕реЗрдирдХрд╛ , рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ WebDAV рдкрде рдореЗрдВ рдПрдХ рд╕рдорд╛рдкрди рд╕реНрд▓реИрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рд╣реИред рдореИрдВ рдЪреВрдХ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЛрдиреЛрдВ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣ рднреА рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рдпрджрд┐ рдХрд░реНрд▓ рдХрд┐рд╕реА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рд╢рдкрде рд▓реЗрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ -k рд╕реНрд╡рд┐рдЪ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЙрд╕реЗ рдЧрд▓рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдмрд┐рдирд╛ рдпрд╛ рдЙрд╕рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣ рднреА рдХрд╣рд╛ рдХрд┐ рд╣рд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рдЬрд┐рдк рдирд╣реАрдВ рд╣реИред рдореИрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрд╖реЗрд░ рдЧрдЬрд╝рд┐рдк рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рдкреВрд░реА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ
 $WebDAV = [ 'login'=>'', 'password'=>'', //url         ,        //'url'=>'https://webdav.yandex.ru/backups/sites/',//     ,      . 'url'=>'https://webdav.cloud.mail.ru/backups/sites/',//     ,     . ]; $backupPath = 'path to backups'; //,      ,     WebDAV $databases = [['login' => '', 'password' => '', 'dbname' => '']]; $sites = [ //  : [ 'name' => 'site1.ru', 'path' => '/var/www/site1.ru', 'exclude' => [] ], //     ['name' => 'site2.ru', 'path' => '.', //   'path' => '.'   ,     . 'exclude' => [ //   - ,     .      ,       . $backupPath, //   ,        '/var/www/site2.ru/temp' // -  ] ], ]; //     . ///////////////////////////////////////////////////////////////////////////////////////// //       ,     ,    .  . //.     ,       . //      . $date = date('Ym-d'); $errors = []; $success = []; $files_to_send = []; foreach ($databases as $db) { $filename = "$backupPath/bases/{$db['dbname']}.$date.sql.gz"; $output = `mysqldump --user={$db['login']} --password={$db['password']} {$db['dbname']} | gzip -f > $filename`; if (!file_exists($filename)) { $errors[] = 'Dump ' . $db['dbname'] . ' failed: ' . $output; } else { $success[] = 'DB ' . $db['dbname'] . ' dumped'; $files_to_send[] = $filename; } } foreach ($sites as $site) { $filename = "$backupPath/files/{$site['name']}.$date.zip"; $exclude = ''; if ($site['exclude']) { $exclude = '-x ' . implode('\* -x ', $site['exclude']) . '\*'; } $cmd = "zip -r \"$filename\" {$site['path']} $exclude"; echo $cmd . "<br>\n"; $output = `$cmd`; if (!file_exists($filename)) { $errors[] = 'Site backup ' . $site['name'] . ' failed: ' . $output; } else { $success[] = 'Site ' . $site['name'] . ' saved'; $files_to_send[] = $filename; } } foreach ($errors as $e) { echo ': ' . $e . "<br>\n"; } echo "<br>\n"; foreach ($success as $s) { echo ': ' . $s . "<br>\n"; } echo "<br>\n"; echo "   :<br>\n"; foreach ($files_to_send as $f) { echo $f . "<br>\n"; } echo "<br>\n"; if (!empty($files_to_send)) { foreach ($files_to_send as $file) { echo shell_exec("curl --user {$WebDAV['login']}:{$WebDAV['password']} -T \"$file\" {$WebDAV['url']}") . "<br>\n";//   ,    -k } } 

рдкреЛрд╕реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП post

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


All Articles