рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдирд╛

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдПрдБ:
- рдмреИрдХрдЕрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕
- рд╕реНрдерд╛рдиреАрдп рдлрд╝реЛрд▓реНрдбрд░ рдпрд╛ ftp рдкрд░ рдЕрднрд┐рд▓реЗрдЦ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ
- рд╕рдлрд▓ / рдЕрд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛


рдмреИрдХрдЕрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛

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

рдмреИрдХрдЕрдк db

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

рдмреИрдХрдЕрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

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

рдмреИрдХрдЕрдк рдкреВрд░реНрдгрддрд╛ рд╕реВрдЪрдирд╛рдПрдВ

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

рдХреЗ рдЙрдкрдпреЛрдЧ

рд╡рд┐рдиреНрдпрд╛рд╕ рдЙрджрд╛рд╣рд░рдг:
array( // common options 'common' => array( 'tar_cmd' => '/bin/tar', 'gzip_cmd' => '/bin/gzip', 'backup_filename_prefix' => $prefix, 'backup_filename' => 'backupname', ), // backup options 'backup' => array( // directory backup 'directory' => array( 'tar_cmd' => '/bin/tar', 'items' => array( array( 'name' => 'home_user1', 'path' => '/home/user1', 'exclude' => 'tmp,logs,cache', ), array( 'name' => 'home_user2', 'path' => '/home/user2', 'exclude' => 'tmp', ) ) ), // database backup 'mysql' => array( 'mysqldump_cmd' => '/usr/bin/mysqldump', 'user' => 'root', 'password' => 'xxx', 'host' => 'localhost', 'items' => array( array( 'db_name' => 'xxx', 'ignore_tables' => 'test', 'tables_structure' => 'logs,sessions', ), array( 'db_name' => 'xxx2', ), ), ), ), // upload backup options 'upload' => array( // upload to local directoey 'directory' => array( 'max_count' => 3, 'path' => '/backups', ), // upload to ftp 'ftp' => array( 'max_count' => 3, 'path' => '/backups', 'host' => 'xxx', 'user' => 'xxx', 'password' => 'xxx' ), ), // notification options 'nofification' => array( // email notification 'email' => array( 'on_success' => array( 'to' => 'xxx@xxx.xxx', 'subject' => 'Success backup', 'template' => realpath(__DIR__ . '/../Command/Notification/email_templates/success.php') ), 'on_failed' => array( 'to' => 'xxx@xxx.xxx', 'subject' => 'Failed backup', 'template' => realpath(__DIR__ . '/../Command/Notification/email_templates/failed.php') ), ), ), 


рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг:
 $backupTask = new BackupTask\BackupTask($config); $backupTask->run(); 


рдХреНрд░реЛрд╣рди рдЙрджрд╛рд╣рд░рдг:
 @daily /usr/bin/php /path/to/backup.php daily @weekly /usr/bin/php /path/to/backup.php weekly @monthly /usr/bin/php /path/to/backup.php monthly 


рдпрд╣рд╛рдВ рдХреЗ рд╕реВрддреНрд░

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


All Articles