Changeset 16 for trunk/www/backup.php


Ignore:
Timestamp:
Jun 12, 2009, 8:47:16 AM (15 years ago)
Author:
george
Message:
  • Přidáno: Funkce pro vytvoření zálohy a obnovení databáze ze zálohy.
  • Upraveno: Funkce přidávání úloh do fronty přesunuta do samostatné třídy Task.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/backup.php

    r15 r16  
    44{
    55  var $Id;
     6  var $Tash;
    67 
    78  function __construct($Database, $Id)
    89  {
    910    $this->Database = $Database;
     11    $this->Task = new Task($Database);
    1012    $this->Id = $Id;
    1113    $DbResult = $this->Database->query('SELECT * FROM `Backup` WHERE `Id`='.$Id);
     
    1315  }
    1416 
    15   function Restore($Id)
     17  function Restore()
    1618  {
    17    
     19    $this->Task->Add('Obnovení databáze', array(
     20      'mysql --silent --skip-column-names -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_mangos -e "show tables" | gawk \'{print "drop table " $1 ";"}\' | mysql -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_mangos',
     21      'mysql --silent --skip-column-names -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_characters -e "show tables" | gawk \'{print "drop table " $1 ";"}\' | mysql -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_characters',
     22      'mysql --silent --skip-column-names -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_realmd -e "show tables" | gawk \'{print "drop table " $1 ";"}\' | mysql -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_realmd',
     23      'mysql --silent --skip-column-names -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_scriptdev2 -e "show tables" | gawk \'{print "drop table " $1 ";"}\' | mysql -u server'.$ServerId.' -pserver'.$ServerId.' server'.$ServerId.'_scriptdev2',
     24      'mkdir /tmp/wowhosting',
     25      'tar -xjf backup/'.$ServerId.'/backup.tar.bz2 -C /tmp/wowhosting',
     26      'mysql --user server'.$ServerId.' --password server'.$ServerId.' server'.$ServerId.'_characters < /tmp/wowhosting/characters.sql',
     27      'mysql --user server'.$ServerId.' --password server'.$ServerId.' server'.$ServerId.'_realmd < /tmp/wowhosting/realmd.sql',
     28      'mysql --user server'.$ServerId.' --password server'.$ServerId.' server'.$ServerId.'_mangos < /tmp/wowhosting/mangos.sql',
     29      'mysql --user server'.$ServerId.' --password server'.$ServerId.' server'.$ServerId.'_scriptdev2 < /tmp/wowhosting/scriptdev2.sql',
     30      'rm -f /tmp/wowhosting',
     31    ));
    1832  }
    1933 
    20   function Save($Id)
     34  function Create($ServerId)
    2135  {
    22    
     36    $this->Task->Add('Záloha databáze serveru', array(
     37      'mkdir /tmp/wowhosting',
     38      'mysqldump --user server'.$ServerId.' --password server'.$ServerId.' --opt server'.$ServerId.'_characters > /tmp/wowhosting/characters.sql',
     39      'mysqldump --user server'.$ServerId.' --password server'.$ServerId.' --opt server'.$ServerId.'_realmd > /tmp/wowhosting/realmd.sql',
     40      'mysqldump --user server'.$ServerId.' --password server'.$ServerId.' --opt server'.$ServerId.'_mangos > /tmp/wowhosting/mangos.sql',
     41      'mysqldump --user server'.$ServerId.' --password server'.$ServerId.' --opt server'.$ServerId.'_scriptdev2 > /tmp/wowhosting/scriptdev2.sql',
     42      'tar -c -j /tmp/wowhosting > backup/'.$ServerId.'/backup.tar.bz2',
     43      'rm -f /tmp/wowhosting',
     44    ));
    2345  } 
    2446}
Note: See TracChangeset for help on using the changeset viewer.