vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   [vbcron] Automatic database backup [v1.3] (https://vborg.vbsupport.ru/showthread.php?t=62149)

Onkel_Tom 05-06-2004 09:43 AM

another question.
What about to include /includes/config.php in your db_backup script and just add the two lines to the config.php
PHP Code:

$DUMP_PATH '/path/to/dump/folder'// path to where db backup will be stored
$DUMP_MAKE_TAR '1'// set this to 1 for the backup to be compressed in a .tar.gz file 

then change in your db_backup script DUMP_PATH with $DUMP_PATH and DUMP_MAKE_TAR with $DUMP_MAKE_TAR

This will reduce the time for implement this script to another vB and also the paramters for the DB are centralized in the config.php and not twice in your script too.

I didn't try it right now, but I think this will work.

Boofo 05-06-2004 10:10 AM

Quote:

Originally Posted by Onkel_Tom
another question.
What about to include /includes/config.php in your db_backup script and just add the two lines to the config.php
PHP Code:

$DUMP_PATH '/path/to/dump/folder'// path to where db backup will be stored
$DUMP_MAKE_TAR '1'// set this to 1 for the backup to be compressed in a .tar.gz file 

then change in your db_backup script DUMP_PATH with $DUMP_PATH and DUMP_MAKE_TAR with $DUMP_MAKE_TAR

This will reduce the time for implement this script to another vB and also the paramters for the DB are centralized in the config.php and not twice in your script too.

I didn't try it right now, but I think this will work.

Could you show me how to set it up like that? I'd like to try it and see how it works. ;)

Brad 05-06-2004 02:49 PM

Quote:

Originally Posted by Onkel_Tom
another question.
What about to include /includes/config.php in your db_backup script and just add the two lines to the config.php
PHP Code:

$DUMP_PATH '/path/to/dump/folder'// path to where db backup will be stored
$DUMP_MAKE_TAR '1'// set this to 1 for the backup to be compressed in a .tar.gz file 

then change in your db_backup script DUMP_PATH with $DUMP_PATH and DUMP_MAKE_TAR with $DUMP_MAKE_TAR

This will reduce the time for implement this script to another vB and also the paramters for the DB are centralized in the config.php and not twice in your script too.

I didn't try it right now, but I think this will work.

It is set up this way to allow you to have multiple copies to back up multiple databases, even ones that arent associated with vBulletin.

As for the DATE define it was replaced by a var, unless you spotted an old call to it that I missed? :)

Brad 05-06-2004 02:52 PM

O I see the missed call, I will update the script in a few minutes.

Brad 05-06-2004 02:56 PM

Ok fixed that little error, also made the file name more readable (it will be month-day-year.sql now).

No version change, but the file in the first post has been updated. :)

Boofo 05-06-2004 03:40 PM

This is the name of my back up file now:

DUMP_DATE.tar.gz

It didn't pass the date to it.

When I add back this line:

define('DUMP_DATE', $file_date);

It works right.

Onkel_Tom 05-06-2004 05:04 PM

Quote:

Originally Posted by Boofo
Could you show me how to set it up like that? I'd like to try it and see how it works. ;)

I tested it a few minutes ago and it works fine ;)

This change is used to get the db_data directly from config.php without having this data in more scripts.

Okay, here we go:
step1:
open your /includes/config.php file and find:
PHP Code:

// ****** DATABASE NAME ******
// This is the name of the database where your vBulletin will be located.
// This must be created by your webhost.
$dbname 'your_db_name_here'

below that add:
PHP Code:

// ****** DATABASE BACKUP HACK VIA CRON ******
// This is the absolute Path to your folder where the db backup will be stored.
// Use DUMP_MAKE_TAR = 1 for compressed tar.gz file 
// Use DUMP_MAKE_TAR = 0 for normale .sql file 
$DUMP_PATH '/path/to/dump/folder';
$DUMP_MAKE_TAR '1'

Don't forget to place your /path/to/dump/folder folder in this code !

Save and store config.php

step2:
now open your db_backup Script in /includes/cron folder. Should be named vbcron_db_backup_131.php

and replace:
PHP Code:

// ######################## Begin edits ######################
define('DB_HOST''localhost'); // database host

define('DB_USER''db_user'); // database username

define('DB_PASSWORD''password'); // database password

define('DB_NAME''db_name'); // vbulletins database name

define('DUMP_PATH''/path/to/dump/folder'); // path to where db backup will be stored

define('DUMP_MAKE_TAR'1); // set this to 1 for the backup to be compressed in a .tar.gz file
// ####################### End Edits ##########################

// for some reason beyound me query was un-defined for some users, so this is here as an attempt to fix it...
require_once('./global.php'); 

with:
PHP Code:

// for some reason beyound me query was un-defined for some users, so this is here as an attempt to fix it...
require_once('./global.php');
// get db requirements from config.php
require('./includes/config.php'); 

step3:
now replace:
PHP Code:

// Get .sql file
exec('mysqldump --add-drop-table -h' .DB_HOST' -u' .DB_USER' -p' .DB_PASSWORD' ' .DB_NAME' 2>' .DUMP_PATH'/' .$file_date'-error.txt >' .DUMP_PATH'/' .$file_date'.sql');

$log_db 'Saved backup of databse to ' DUMP_PATH ' at ' $file_date ' (file name ' $file_date '.sql'

with
PHP Code:

// Get .sql file
exec('mysqldump --add-drop-table -h' .$servername' -u' .$dbusername' -p' .$dbpassword' ' .$dbname' 2>' .$DUMP_PATH'/' .$file_date'-error.txt >' .$DUMP_PATH'/' .$file_date'.sql');

$log_db 'Saved backup of databse to ' $DUMP_PATH ' at ' $file_date ' (file name ' $file_date '.sql'

step4:
now replace
PHP Code:

// now archive and compress the backup, also delete .sql file
    
exec('tar -cSz --remove-files -C' .DUMP_PATH' -f' .DUMP_PATH'/' .DUMP_DATE'.tar.gz ' .$file_date'.sql ' .$file_date'-error.txt');
    
    
$log_db 'Saved backup of databse to ' DUMP_PATH ' at ' $file_date ' (file name ' $file_date '.tar.gz'

with
PHP Code:

// now archive and compress the backup, also delete .sql file
    
exec('tar -cSz --remove-files -C' .$DUMP_PATH' -f' .$DUMP_PATH'/' .$file_date'.tar.gz ' .$file_date'.sql ' .$file_date'-error.txt');
    
    
$log_db 'Saved backup of databse to ' $DUMP_PATH ' at ' $file_date ' (file name ' $file_date '.tar.gz'

save and store vbcron_db_backup_131.php

step5:
upload config.php to /includes/
upload vbcron_db_backup_131.php to /includes/cron

and look how it works ;)

Onkel_Tom 05-06-2004 05:07 PM

Quote:

Originally Posted by Boofo
This is the name of my back up file now:

DUMP_DATE.tar.gz

It didn't pass the date to it.

When I add back this line:

define('DUMP_DATE', $file_date);

It works right.

Yes, Brad.loo forgot to change the parameter in the tar-routine !
Just search for
PHP Code:

// now archive and compress the backup, also delete .sql file
    
exec('tar -cSz --remove-files -C' .DUMP_PATH' -f' .DUMP_PATH'/' .DUMP_DATE'.tar.gz ' .$file_date'.sql ' .$file_date'-error.txt');
    
    
$log_db 'Saved backup of databse to ' DUMP_PATH ' at ' $file_date ' (file name ' $file_date '.tar.gz'

and replace it with:
PHP Code:

// now archive and compress the backup, also delete .sql file
    
exec('tar -cSz --remove-files -C' .DUMP_PATH' -f' .DUMP_PATH'/' .$file_date'.tar.gz ' .$file_date'.sql ' .$file_date'-error.txt');
    
    
$log_db 'Saved backup of databse to ' DUMP_PATH ' at ' $file_date ' (file name ' $file_date '.tar.gz'


Boofo 05-06-2004 05:24 PM

There's something wrong because it isn't doing anything now. It says it made the backup, but it was alot quicker than normal and there is no file there. I followed your instructions exactly. :(

Onkel_Tom 05-06-2004 09:15 PM

Boofo, you are right ;)
I was in a hurry while posting the changes and do a mistake in step3 !
Please do again step 3 and the change will work, I forgot to replace the old variables with the new one from config.php
Sorry !


All times are GMT. The time now is 08:09 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01237 seconds
  • Memory Usage 1,797KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (13)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete