Witam. Musze zrobić kopię danych na serwerze i bazie mysql. Robienie kopi bazy danych już mam.
Dla zainteresowanych:
include('../db_pass.php');
$sql = '';
$crlf = "\r\n";
$sql .= '#' . $crlf;
$sql .= '# Zrzut bazy danych ' . $crlf;
$sql .= '# Wygenerowano: ' . $time . $crlf;
$sql .= '#' . $crlf . $crlf;
{
$table_name = $row[0];
$sql .= '#' . $crlf;
$sql .= '# Struktura tabeli ' . $table_name . $crlf;
$sql .= '#' . $crlf;
$sql .= 'DROP TABLE IF EXISTS ' . $table_name . ';' . $crlf;
$sql .= 'CREATE TABLE ' . $table_name . ' ( ' . $crlf;
/* Generujemy strukture tabeli. Najpierw wyciagamy pola */
$res2 = mysql_query('SHOW FIELDS FROM ' . $table_name); {
$sql .= ' ';
$sql .= $fields['Field'] . ' ' . $fields['Type'];
if (!empty($fields['Default'])) {
$sql .= 'DEFAULT \'' . $fields['Default'] . '\'';
}
if ($fields['Null'] != 'Yes')
{
$sql .= ' NOT NULL';
}
if (!empty($fields['Extra'])) {
$sql .= ' ' . $fields['Extra'];
}
$sql .= ',' . $crlf;
$table_fields[] = $fields['Field'];
}
$index = '';
/* Teraz wyciagamy pola typu KEY */
{
$kname = $keys['Key_name'];
if(($kname != 'PRIMARY') && ($keys['Non_unique'] == 0))
{
$kname = 'UNIQUE|' . $kname;
}
$index[$kname] = array(); $index[$kname][] = $keys['Column_name'];
}
while(list
($n, $columns) = @each($index)) {
if ($n == 'PRIMARY')
{
$sql .= ' PRIMARY KEY (' . implode($columns, ', ') . ')'; }
elseif (substr($n, 0, 6) == 'UNIQUE') {
$sql .= ' UNIQUE ' . substr($n, 7) . ' (' . implode($columns, ', ') . ')'; }
else
{
$sql .= ' KEY ' . $n . ' (' . implode($columns, ', ') . ')'; }
$sql .= $crlf;
}
$sql .= ');' . $crlf;
$sql .= $crlf . $crlf;
$sql .= '#' . $crlf;
$sql .= '# Dane z tabeli ' . $table_name . $crlf;
$sql .= '#' . $crlf;
/* Mamy juz strukture, wiec teraz czas
wyciagnac dane z tabeli */
{
$sql .= 'INSERT INTO ' . $table_name . ' (' . implode(', ', $table_fields) . ') VALUES(';
$field_count = count($table_fields); for ($i = 0; $i < $field_count; $i++)
{
$f_data[] .= '\'' . $data[$i] . '\'';
}
$sql .= ');' . $crlf;
}
$sql .= $crlf . $crlf;
}
$file = fopen('../backup/depis.sql', 'w');
$zip = new ZipArchive();
$time1 = $time;
$plik_arch = "../backup/depis$time1.zip";
if ($zip->open($plik_arch, ZIPARCHIVE::CREATE) !==TRUE) {
exit ("nie mogę zrobić pliku archiwum <$plik_arch>"); }
$zip->addFile("../backup/depis.sql");
//echo "Ilość plików spakowanych: ".(($zip->numFiles)-1) . "\n";
$zip->close();
Szukam skryptu w php, który zrobi mi kopię wszystkich plików które znajdują się na serwerze.