Bepaalde berichten uit backup terugplaatsen
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

-
- Berichten: 279
- Lid geworden op: 27 jun 2003, 16:27
Bepaalde berichten uit backup terugplaatsen
Door iets van een hackaanval was een tijdgeleden van mijn forum de eerste 5 subfora gedelete in de database. Omdat ik een tijd moest wachten op de backup van voor deze aanval heb ik enkele fora opnieuw aangemaakt (dus met een ander forum ID) en is daar ondertussen weer in gepost.
Nu wil ik dus die oude berichten terug plaatsen uit die backup die ik onderhand verkregen heb, in de nieuwe forum IDs die momenteel draaien. Dus ik wil zeg maar alle berichten uit forum ID 1 terug in forum ID 17, alle berichten uit forum ID 2 terug in forum ID 18... etc
Nou heb ik al gezocht naar hoe ik dit zou moeten doen, maar alles wat ik via de search kon vinden waren alleen nuttig als ik 2 complete databases bij elkaar zou willen voegen. Ook kom ik er zelf niet echt uit met die .sql backup file. Eerst worden namelijk de forum IDs aangemaakt, en later de posts erin teruggezet (toch?) maar hoe nou alleen deze posts eruit te halen en in een ander subforum ID te plaatsen?
Bij voorbaat dank!
Nu wil ik dus die oude berichten terug plaatsen uit die backup die ik onderhand verkregen heb, in de nieuwe forum IDs die momenteel draaien. Dus ik wil zeg maar alle berichten uit forum ID 1 terug in forum ID 17, alle berichten uit forum ID 2 terug in forum ID 18... etc
Nou heb ik al gezocht naar hoe ik dit zou moeten doen, maar alles wat ik via de search kon vinden waren alleen nuttig als ik 2 complete databases bij elkaar zou willen voegen. Ook kom ik er zelf niet echt uit met die .sql backup file. Eerst worden namelijk de forum IDs aangemaakt, en later de posts erin teruggezet (toch?) maar hoe nou alleen deze posts eruit te halen en in een ander subforum ID te plaatsen?
Bij voorbaat dank!
-
- Berichten: 279
- Lid geworden op: 27 jun 2003, 16:27
Met een beetje aanpassen van dit script wat ik al eerder heb geschreven zou het ook moeten lukken 
Je moet dan de oude berichten (van het andere forum) in je database zetten onder een andere prefix, bijvoorbeeld phpbb2_xxx
Verander dan in mijn script
in

Je moet dan de oude berichten (van het andere forum) in je database zetten onder een andere prefix, bijvoorbeeld phpbb2_xxx
Verander dan in mijn script
Code: Selecteer alles
// CONFIG
$cfg_old_prefix = 'slave_';
$cfg_to_id = '2';
// NIET AANPASSEN
$limit = 100;
// Select max id
$sql = "SELECT MAX(topic_id) as max
FROM " . TOPICS_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$topic = $db->sql_fetchrow($result);
$topic_id = $topic['max'];
$db->sql_freeresult($result);
$sql = "SELECT MAX(post_id) as max
FROM " . POSTS_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$post = $db->sql_fetchrow($result);
$post_id = $post['max'];
$db->sql_freeresult($result);
$sql = "SELECT MAX(vote_id) as max
FROM " . VOTE_DESC_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$vote = $db->sql_fetchrow($result);
$vote_id = $vote['max'];
$db->sql_freeresult($result);
// Select topic data
$sql = "SELECT COUNT(topic_id) as topics
FROM " . $cfg_old_prefix . "topics
ORDER BY topic_id DESC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$aantal = $row['topics'];
$start = ( isset($_GET['start']) ) ? $_GET['start'] : 0;
$limit = $limit + $start;
$sql = "SELECT *
FROM " . $cfg_old_prefix . "topics
ORDER BY topic_id DESC
LIMIT " . $start . ", " . $limit;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
Code: Selecteer alles
// CONFIG
$cfg_old_prefix = 'slave_';
$cfg_to_id = '2';
$cfg_from_id = '1';
// NIET AANPASSEN
$limit = 100;
// Select max id
$sql = "SELECT MAX(topic_id) as max
FROM " . TOPICS_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$topic = $db->sql_fetchrow($result);
$topic_id = $topic['max'];
$db->sql_freeresult($result);
$sql = "SELECT MAX(post_id) as max
FROM " . POSTS_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$post = $db->sql_fetchrow($result);
$post_id = $post['max'];
$db->sql_freeresult($result);
$sql = "SELECT MAX(vote_id) as max
FROM " . VOTE_DESC_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$vote = $db->sql_fetchrow($result);
$vote_id = $vote['max'];
$db->sql_freeresult($result);
// Select topic data
$sql = "SELECT COUNT(topic_id) as topics
FROM " . $cfg_old_prefix . "topics
WHERE forum_id = " . $cfg_from_id . "
ORDER BY topic_id DESC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$aantal = $row['topics'];
$start = ( isset($_GET['start']) ) ? $_GET['start'] : 0;
$limit = $limit + $start;
$sql = "SELECT *
FROM " . $cfg_old_prefix . "topics
WHERE forum_id = " . $cfg_from_id . "
ORDER BY topic_id DESC
LIMIT " . $start . ", " . $limit;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query ids', '', __LINE__, __FILE__, $sql);
}
-
- Berichten: 279
- Lid geworden op: 27 jun 2003, 16:27
In verband met privacy gevoelige zaken kan ik deze backup niet vrij geven. Hier sta ik zelf ook niet helemaal achter, maar het is een afspraak die ik gemaakt heb met deze "klant". Maar alle backups van databases zien er in principe toch hetzelfde uit? Dus zou elke backup dezelfde SQL commands hebben voor het terugzetten van bepaalde forum IDs en de posts hierbij, ik heb alleen geen idee hoe ik de posts van een bepaald forum ID kan vinden in de SQL file.paulus schreef:stuur naar mijn email maar ff de backup, dan zal ik er even naar kijken
email: webmaster[at]paulscripts[punt]nl
-
- Berichten: 279
- Lid geworden op: 27 jun 2003, 16:27
-
- Berichten: 279
- Lid geworden op: 27 jun 2003, 16:27
-
- Berichten: 279
- Lid geworden op: 27 jun 2003, 16:27
-
- Berichten: 279
- Lid geworden op: 27 jun 2003, 16:27