Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Mailen van sql database naar gmail

Ik heb momenteel een forum draaien op een server die reeds een tijdje aan vervanging toe is maar door allerlei problemen moeten we het daarmee toch stellen.

Het gaat over een phpBB forum versie 3.04 waar een modificatie geïnstalleerd is om elke 24u een backup te nemen van de database.

Het probleem is dat wanneer de server volledig plat gaat ik van thuis uit de backup van de database van de server kan halen. Om dit probleem te omzeilen zou ik graag een g-mail account aanmaken en elke dag de backup verzenden. (de ruimte die je daar beschikbaar hebt is vrij groot)

Het probleem is dat mijn modificatie telkens zo'n rare naam van mijn .gz bestand maakt, bijvoorbeeld:

Code: Selecteer alles

backup_1233938221_1osd5i1234111021.sql.gz

backup_1233937958_1osd5i1234110758.sql.gz
Ik zou graag willen werken met phpmailer: http://phpmailer.codeworxtech.com/

Met behulp van het volgende script zou ik mijn bestanden dan willen mailen naar het gmail account:

Code: Selecteer alles

<?php

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->Host

= "localhost";

$mail->SMTPAuth		= true;

$mail->Username		= "...";

$mail->Password		= "...";

$mail->From

= "email_afzender";

$mail->FromName		= "naam_afzender";

$mail->AddAddress("email_ontvanger","naam_ontvanger"); 

$mail->AddAttachment("***.gz");

$mail->IsHTML(true);

$mail->Subject		 =  "subject_naam ".date('Y-m-d H:i')."";

$mail->Body

=  "bodytekst";

$mail->AltBody		 =  "bodytekst";

if(!$mail->Send())

{

   echo "Mail niet goed verstuurd <p>";

   echo "Mailer Error: " . $mail->ErrorInfo;

   exit;

}

echo "Mail verstuurd";

?>
Kan dit werken indien ik de juiste bestandsnaam invul ?

Hoe kan ik die bestandsnaam nu juist gaan invullen ?

Zijn er andere/betere methodes ....
Gebruikersavatar
Bart
Artikelen: 0
Berichten: 7.224
Lid geworden op: wo 06 okt 2004, 22:42

Re: Mailen van sql database naar gmail

Misschien dat er in de readme van de modificatie staat uitgelegd hoe de naam wordt gegenereerd?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Mailen van sql database naar gmail

Misschien dat er in de readme van de modificatie staat uitgelegd hoe de naam wordt gegenereerd?
Spijtig genoeg zit er enkel een install.xml bestand in.

Er is wel een mogelijk voor een FTP backup te maken op een andere locatie maar daar ben ik uiteraard niet zoveel mee.

Zijn er eventueel andere mogelijkheden naast die modificatie voor een phpBB forum ?
Benm
Artikelen: 0
Berichten: 12.262
Lid geworden op: za 21 okt 2006, 01:23

Re: Mailen van sql database naar gmail

Geen oplossing voor je kwestie, maar ik vind het wel een leuke aanpak.

Vraagje: Hoe groot kan een attachment inmiddels zijn voor gmail? Klinkt best handig als een extra remote backup...
Victory through technology
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Mailen van sql database naar gmail

Ondertussen heb ik nog iets gevonden dat mij misschien kan helpen.

Met behulp van een script de database maken, zelf een naam geven en uiteindelijk doormailen.

Ik weet wel nog niet helemaal hoe het werkt:
Geen oplossing voor je kwestie, maar ik vind het wel een leuke aanpak.

Vraagje: Hoe groot kan een attachment inmiddels zijn voor gmail? Klinkt best handig als een extra remote backup...
Een attachement bij gmail kan maximaal 20MB bedragen en momenteel kreeg ik de belangrijke zaken van mijn database in 10MB dus was het wel handig als ik het zou kunnen laten werken.

Alle mailtjes komen ook mooi op volgorde dus zie je meteen aan datum en tijd met welke database je te maken hebt ...

Normaal heb je momenteel ongeveer 7,3GB ruimte dus daar kun je een groot archief maken :D
Gebruikersavatar
Bart
Artikelen: 0
Berichten: 7.224
Lid geworden op: wo 06 okt 2004, 22:42

Re: Mailen van sql database naar gmail

Kun je op jouw server gebruik maken van cron-jobs en shell scripts?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Mailen van sql database naar gmail

Kun je op jouw server gebruik maken van cron-jobs en shell scripts?
Het mailen en de compressie naar een .gz werkt al (moet je zeker doen, mijn database was anders ongeveer 80 MB)

Nu dat automatiseren nog (moet ik even uitzoeken om cron-jobs nog te installeren) :D

Meer info kun je hier nog vinden als je interesse hebt: http://wiki.phpbb.nl/Automatische_backup
Gebruikersavatar
Ger
Artikelen: 0
Berichten: 17.676
Lid geworden op: di 18 okt 2005, 09:51

Re: Mailen van sql database naar gmail

Gebruik je nu die van de phpBB-Wiki waar je naar linkt? Die heb ik mede "in elkaar geflanst" (basisscript elders van internet, wat versimpeld en toegespitst op phpBB). Nadeel van dit systeem is alleen dat er geen "drop_table_if_exists" in zit, ofwel je zult bij het restoren eerst de database handmatig moeten legen voordat je de backup terug kunt zetten.

De bestandsnaam kun je wijzigigen bij de variabele $filename (onder // NORMALLY YOU CAN LEAVE THE FOLLOWING SETTINGS:)

Ook valt het me (nu pas) op dat bij $trans_subject nog iets specifieks van mijn site staat ingegeven (onderwerpnaam van de mail die verstuurd wordt).

Bij de cronjob kan het zijn (afhankelijk van je host) dat je de hacking-preventie eruit moet halen. Dat is dit stukje:

Code: Selecteer alles

	// CHECK IF ACCES IS ALLOWED:

if (!isset($_GET['exec']))

{

   die("hacking attempt");

}
En dan moet je ?exec=1 uit de opdrachtregel halen.
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Mailen van sql database naar gmail

Bedankt Ger,

cronjob is nog een beetje een probleem maar dat komt wel goed :D
Gebruikersavatar
Ger
Artikelen: 0
Berichten: 17.676
Lid geworden op: di 18 okt 2005, 09:51

Re: Mailen van sql database naar gmail

Wat is het probleem dan precies?
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Mailen van sql database naar gmail

Wat is het probleem dan precies?
Eerst was het probleem dat het script algemeen op de server moest geplaatst worden omdat het anders niet uigevoerd werd in een account.

Momenteel is het probleem dat de server offline is (hij is volledig versleten).

Gelukkig heb ik nog een backup van gisteren :D
Gebruikersavatar
Ger
Artikelen: 0
Berichten: 17.676
Lid geworden op: di 18 okt 2005, 09:51

Re: Mailen van sql database naar gmail

Momenteel is het probleem dat de server offline is (hij is volledig versleten).
Tja, daar kan ik je weinig mee helpen. :D

Schoolservertje hè? Succes ermee...
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Mailen van sql database naar gmail

Gebruik je nu die van de phpBB-Wiki waar je naar linkt? Die heb ik mede "in elkaar geflanst" (basisscript elders van internet, wat versimpeld en toegespitst op phpBB). Nadeel van dit systeem is alleen dat er geen "drop_table_if_exists" in zit, ofwel je zult bij het restoren eerst de database handmatig moeten legen voordat je de backup terug kunt zetten.
De laatste tijd een groot probleem gehad met spam.

Ik wou een aantal zaken verwijderen want een mede-admin die lang inactief geweest was had een 50-tal accounts handmatig geactiveerd.

Toen ik daarnet enkele gebruikers verwijderde was er plots een stuk van het forum weg ;)

Nu wil ik een backup van net daarvoor plaatsen maar ik weet niet juist hoe dat werkt.

Kan jij me daarover iets meer vertellen Ger ?
Gebruikersavatar
Ger
Artikelen: 0
Berichten: 17.676
Lid geworden op: di 18 okt 2005, 09:51

Re: Mailen van sql database naar gmail

Zie deze net pas, hoop dat het nog op tijd is. Stapsgewijs, en uit het blote hoofd:
  1. Als het kan, gebruik dan een nieuwe, lege, database
  2. Ga naar PhpMyAdmin (meest waarschijnlijke database beheerstool)
  3. Ga naar de juiste database en klik op "import" (tabblad bovenaan)
  4. Daar kun je normaal gezien bladeren naar een bestand en die importeren. Daar staat ook bij wat de maximale bestandsgrootte is. Als jouw backup binnen die grenzen ligt, dan kun je die importeren. Houd er rekenening mee dat dit LANG duurt. Heb dus geduld!
  5. Kun je niet importeren, dan wordt het een iets lastiger en arbeidsintensiever verhaal. Je moet dan je .sql-bestand (ofwel je backup) openen in een code-editor. Liefst geen gewoon kladblok, maar bijvoorbeeld Crimson Editor, Notepad++ of Ultraedit (of iets vergelijkbaars). Dit openen zal iets langer duren dan met gewone bestanden, want je bestand is nu eenmaal GROOT.
  6. Nu komt het arbeidsintensieve verhaal: Je moet per ± 50.000 regels de boel kopieren en plakken in het tabblad SQL van PhpMyAdmin (en "start" klikken). De ene host kan wat meer tegelijk aan dan de andere host, maar da's een kwestie van uitproberen.
Kun je hiermee uit de voeten?
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Mailen van sql database naar gmail

Bedankt voor de tips Ger.

Ik had 2 backups, eentje van het dat script en dan een complete export via phpmyadmin.

Blijkbaar had ik pech want de backup van het script zat een fout in waardoor ik het niet opnieuw kon gebruiken, er ontbraken een aantal tabellen en eigenlijk had ik dit moeten opmerken tijdens het backuppen aan de bestandsgrootte.

Een complete backup zou nooit voorbij die minimum bestandsgrootte geraakt zijn.

De export vanuit phpmyadmin heb ik dan proberen terugplaatsen via mysqlimport rechtstreeks op de server als root maar blijkbaar bevat die file niet enkel de tabellen van mijn forum maar ook nog andere zaken die mogelijk de werking van de sql server kunnen verstoren.

Met google is het uiteindelijk gelukt de 150 tabellen van het forum eruit te halen en opnieuw online te plaatsen.

Uiteindelijk is die export van phpmyadmin toch ook niet zo goed want als ik een actie wou uitvoeren op het forum had ik bij een heleboel functies het probleem dat vele tabellen geen beginwaarde hadden zei hij.

Door de juiste tabellen op te zoeken heb ik dan handmatig de beginwaarde NULL ingesteld en alles werkt perfect.

Nu heb ik terug een backup gemaakt met het script en die werkt ook (vorige keer blijkbaar een probleem maar nu werkt dat terug).

Jouw nummer 5 en 6 ga ik goed onthouden voor in de toekomst.

Ik zit nu nog steeds met die spam die ik niet handmatig wegkrijg dus binnenkort zal ik toch nog eens in die database moeten duiken.

Terug naar “Informatica en programmeren”