Weet iemand een goed Gartis software waarmee ik doormiddel van een Script elke dag op een bepaalde tijdstip een Backup van het desbetreffende Mysql database kan laten maken?
phpMyBackup is mij al bekend, graag wat andere tips.
Likes: 0
Weet iemand een goed Gartis software waarmee ik doormiddel van een Script elke dag op een bepaalde tijdstip een Backup van het desbetreffende Mysql database kan laten maken?
phpMyBackup is mij al bekend, graag wat andere tips.
waarvoor? een server en welk OS ?
Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers![]()
mysqldump en dat naar een file.
Dit te samen met de scheduler welke elke OS wel heeft.
iets als:
mysqldump -uroot --opt name> site/backups/day-backup.sql
(zelf checken op fouten oid)
zelf gebruik ik een php scriptje met mail funtie, niet zelf gemaakt maar ergens opgedoken... wel wat aangepast: (tuurlijk dan ff crontabje maken en tags met hoofdletters veranderen (behalve de DEFINE zelf natuurlijk)
Code:<? set_time_limit(600); #create a sql backup and send it to your e-mail address //define settings //database host DEFINE('dbhost','DBHOST'); //database name DEFINE('dbnaam','DBNAAM'); //database user DEFINE('dbuser','DBUSER'); //database passwordt DEFINE('dbpass','DBPASS'); //domeinnaam DEFINE('domein','DOMEIN'); //doel DEFINE('email','EMAILADRES'); //connect with database $link = mysql_connect(dbhost,dbuser,dbpass) or die('No database conection could be establised'); mysql_select_db(dbnaam,$link) or die('No datbase selected'); //query to recive table names $query = mysql_query('SHOW TABLE STATUS') or die(mysql_error()); $sql_backup = ''; //whileloop to loop trough every table while($row = mysql_fetch_assoc($query)) { //show sql query to rebuild the query $sql = 'SHOW CREATE TABLE '.$row['Name'].''; //exucte error or give a error $query2 = mysql_query($sql) or die(mysql_error()); //create sql $sql_backup.="\r\n#Create table ".$row['Name']."\r\n\r\n"; $out = mysql_fetch_assoc($query2); $sql_backup.=$out['Create Table'].";\r\n\r\n"; $sql_backup.="#Dump data\r\n\r\n"; //SQL code to select everything for table $sql = 'SELECT * FROM '.$row['Name']; $out = mysql_query($sql); $sql_code = ''; //loop trough the colloms while($code = mysql_fetch_array($out,MYSQL_ASSOC)) { $sql_code .= "INSERT INTO ".$row['Name']." SET "; foreach($code as $insert => $value) { $sql_code.=$insert ."='".addslashes($value)."',"; } $sql_code = substr($sql_code, 0, -1); $sql_code.= ";\r\n"; } $sql_backup.= $sql_code; } //generade a unique id $unique = md5(uniqid(time())); //message $message = "Backup procedure van database: ".dbnaam." is met succes verlopen. U vind in de bijlage een backup van de inhoud gemaakt op. ".date('d-m-Y H:i:s')."\r\n NAAM"; //maak headers aan //form header $headers = "From: NAAM <noreply@".domein.">\r\n"; //terug sturen naar een niet bestaand mail adress (noreply@domein.nl) $headers .= "Reply-To: NAAM <noreply@".domein.">\r\n"; //vertel dat het een mine versie is $headers .= "MIME-Version: 1.0\r\n"; //email bestaat uit meerdere bestanden dus vertel wat de scheidings teken is en dat het een multipart is $headers .= "Content-Type: multipart/mixed; boundary=\"".$unique."\"\r\n"; //we zenden een attachment mee $headers .= "Content-Disposition: attachment\r\n"; //generenen een body. Dit is een multi part gezeik $body.= "This is a multi-part message in MIME format.\r\n"; $body.= "\r\n"; //boundary $body.= "--".$unique."\r\n"; //content type + charater set (iso in dit geval) $body.= "Content-Type: text/plain; charset=iso-8859-1\r\n"; //codering (7 bit) $body.= "Content-Transfer-Encoding: 7bit\r\n"; $body.= "\r\n"; //het bericht $body.= $message ."\r\n"; //boundaty $body.= "--".$unique."\r\n"; //content type + naam bestand (database.sql) $body .= "Content-Type: application/octet-stream; name=database.sql\r\n"; //codering $body .= "Content-Transfer-Encoding: base64\r\n"; //als bijlage toegevoegd $body.= "Content-disposition: attachment\r\n"; $body .= "\n"; //de inhoud van het bestand $body .= chunk_split(base64_encode($sql_backup)) . "\r\n"; //zet alles op email! //hier kan wat tijdsverschil in zitten! mail(email,'Mysql backup '.date('d-m-Y H:i:s'),$body,$headers); //naar NAAM mailen mail("EMAILADRES",'Mysql backup '.date('d-m-Y H:i:s'),$body,$headers); echo "Backup done..."; ?>
een cron ligt dan voor de hand, maar dat zoek je dus ook niet?
Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers![]()
Dit code kan ik niet in Cron voeren, want als ik die code in SSH invoer vraagt ie het Wachtwoord van het database.
Dus dat werkt met Cron niet.
hmm als je hier kijkt kom je dan ook niet verder?
Want ik heb zelf een cron op een plesk bak op FC4 gehad:
http://support.creativepulses.nl/viewtopic.php?t=32
Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers![]()
PHPMyBack is een leuk tooltje, maar helaas moet je dat inbouwen in de site, en heeft het geen crom ondersteuning.
Is er niet iets van een MySQL DB backupper naar FTP via Cronjob?
Dan kan ik het naar een externe server schrijven.
k ga het tegelijk ff testen.
Maar ff..
0 12 * * * mysqldump -u [USERNAME] --password=[PASSWORD] --opt [DATABASE] -K > "/[LOCATIE]/[DATABASE]12uurbackup.sql"; gzip "/[LOCATIE]/[DATABASE]12uurbackup" -f
Bij deze cron doet ie elke dag om 12:00 uur backupen ofzo?
Hoe kan ik ervoor zorgen dat ie elke dag snacht's om 00:00 het db backupt?
Ik ben niet zo sterk met cron, in Direct Admin waar ik nu mee werk staat het heel onhandig uitgelegt vind ik.
jep, in dat geval de 12 naar een 0 veranderen.
Ik heb deze cron op mijn phpbbinstallers forum laten draaien toen die nog op een VPS liep.
0 12 * * *
is in dit geval op minuut 0 van uur 12 iedere dag, iedere week
12uurbackup.sql
>>
12uurbackup.zip
pas ook hier de 12 aan voor je eigen gemak als je het om 0 uur wil laten uitvoeren en/of meerdere crons wil laten lopen
Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers![]()
Kijk ook eens op http://sourceforge.net/projects/automysqlbackup/
Dit script wordt hier al zo'n anderhalf jaar gebruikt en werkt fantastisch.A script to take daily, weekly and monthly backups of your MySQL databases using mysqldump. Features - Backup mutiple databases - Single backup file or to a seperate file for each DB - Compress backup files - Backup remote servers - E-mail logs - More..