Nejste přihlášeni
Stránky 1
Dobrý den,
možná se budu ptát trochu neznale, čili na něco, co vlastně nelze provést.
Potřeboval bych linuxový příkaz, který mi stáhne moji databázi dle jejího jména a definovaného přístupu.
Který vlastně udělá to samé, co dělá export v phpMyAdmin.
Stejnou věc ale z mého příkazového řádku na desktopu aniž bych se musel logovat do phpMyAdmin a naklikávat to.
Tedy abych si mohl vytvořit skript, který mi po spuštění uloží databázi na určité umístění na disku.
Lze toto?
Děkuji velmi za odpovědi,
Jiří Rezler.
Offline
CRON a export do ftp. A pak nějaký scriptík který to z ftp stáhne a dejme tomu přejmenuje podle data. Tady ti nikdo vstříc nevyjde musíš sám
Ale pozor, FTP funguje jako když nefunguje. Na jeden soubor jo, ale na víc nějak ne.
Linux is like a wigwam. No Windows, no Gates and Apache inside!
Offline
Super to mi stačí, FTP už stáhnout jednoduchým skriptem umím. A ve stejném skriptu si to už rozkopíruji do správných umístění.
Jak ten export pomocí CRONu na FTP tedy ?
BTW.. díky moc.
Offline
5 klíčových slov a google ví. https://www.google.cz/#hl=en&safe=off&s ... 80&bih=711
Linux is like a wigwam. No Windows, no Gates and Apache inside!
Offline
hmm, asi myslíš, to jak všude píší o mysqldump.
Bohužel můj user, kterým přistupuji do DB na endoře asi nemá práva na toto. Myslím, že by to musel provádět root na localhostu.
Čili mysqldump je tímto asi mimo hru...
Má někdo nějaký další nápad, jak zálohovat databázi pomocí CRONu na FTP?
Offline
Téměř každý slušný CMS má zálohování tabulek databáze. Co si to z nějakého vytáhnout a upravit?
Nebo jen napsat vlastní php script, který to buď uloží na FTP nebo přímo stáhne do PC.
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
backup_tables('localhost','user','pass','dbname','*');
/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables)
{
$return = '';
$link = mysql_connect($host,$user,$pass);
mysql_select_db($name,$link);
mysql_query('set names utf8');
//get all of the tables
if($tables == '*')
{
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result))
{
$tables[] = $row[0];
}
}
else
{
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
//cycle through
foreach($tables as $table)
{
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
//$return.= 'DROP TABLE '.$table.';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
$return.= "\n\n".$row2[1].";\n\n";
for ($i = 0; $i < $num_fields; $i++)
{
while($row = mysql_fetch_row($result))
{
$return.= 'INSERT INTO '.$table.' VALUES(';
for($j=0; $j<$num_fields; $j++)
{
$row[$j] = addslashes($row[$j]);
$row[$j] = ereg_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ");\n";
}
}
$return.="\n\n\n";
}
//save file
$filename = 'db-backup-'.date("Y-m-d-H-i-s").'.sql';
$handle = fopen($filename,'w+');
fwrite($handle,$return);
fclose($handle);
}
Offline
Díky moc.
Řešil jsem to včera i dnes, aniž bych koukal sem na fórum a nakonec jsem stejně došel k modulu, který je k CMS k dispozici.
Zkoušel jsem různé obnovy z toho a funguje to v pořádku.
Ten PHP kód se ale může hodit v budoucnu.
Ještě jednou díky,
Jiří Rezler.
Offline
Stránky 1