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)

Dark_Wizard 04-11-2004 05:57 PM

Quote:

Originally Posted by Boofo
Thank you, sir. Will be looking forward to it. ;) I have the attchmnets in PMs hack on my site if that will make it easier for you. ;)

Yes...I would like to look at it but where is it?

Boofo 04-11-2004 06:00 PM

It's installed there. I got the hack from here. Kentaurus put it out. ;)

JaNa 04-22-2004 12:50 AM

This is exacly what I need. But where, or how do I know if I have SQLDump o.O

Evilboy 04-22-2004 02:14 AM

my problem :
Backup db

Fait

vBulletin v.3.0.0, Copyright ? 2000-2004, Jelsoft Enterprises Ltd. Tous droits r?serv?s - Version fran?aise vbulletin-fr.org


Fatal error: Call to undefined function: query() in /home/users/xmen/html/forum/includes/functions.php on line 500



config
Code:

// Set these vars up to to suit your server
define('DB_HOST', 'localhost'); // database host
define('DB_USER', 'xxx'); // database username
define('DB_PASSWORD', 'free'); // database password
define('DB_NAME', 'xxx'); // vbulletins database name
define('DUMP_PATH', '/home/users/xmen/backup'); // 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 changes

what's the problem ?

Brad 04-23-2004 08:48 PM

Hey guys sorry for the delay, I will be updating this one soon, been very busy past few weeks. I'm going to test version 2 on a big database tonight, if all gose well it will be released in the next few days.

Improvements:

Email sent to $technicalemail addy when back-up process begins and finishes.

Search/postcache index cleared before dump is made, and re-built upon completion (yes/no option)

Session table cleared before backup-up

Board closed before back-up, and turned back on after

Custom 'board closed' message displayed while back-up is in process, it was added to ensure no one would be accessing the database via the board while it was begin backed up.

Blago 04-25-2004 06:47 PM

Quote:

Originally Posted by Brad.loo
Hey guys sorry for the delay, I will be updating this one soon, been very busy past few weeks. I'm going to test version 2 on a big database tonight, if all gose well it will be released in the next few days.

Improvements:

Email sent to $technicalemail addy when back-up process begins and finishes.

Search/postcache index cleared before dump is made, and re-built upon completion (yes/no option)

Session table cleared before backup-up

Board closed before back-up, and turned back on after

Custom 'board closed' message displayed while back-up is in process, it was added to ensure no one would be accessing the database via the board while it was begin backed up.

Thank you very much for your hard work.

Brad 04-26-2004 07:21 AM

Version 1.3 has been released, the only change is the ability for the script to leave cron logs, sorry I missed that.

I also updated the first post with some better install instructions, and more info on v2.0

MrNase 04-26-2004 07:31 AM

Hey Brad :)

Is there a possibility to save the backup on different server?

Did you plan something like that for a future version?

Brad 04-26-2004 07:33 AM

I have not thought about it but ill look into it.

alkahf 04-26-2004 08:48 AM

Quote:

Originally Posted by Brad.loo
Version 1.3 has been released, the only change is the ability for the script to leave cron logs, sorry I missed that.

I also updated the first post with some better install instructions, and more info on v2.0

Hello
The same Error untill now
Fatal error: Call to undefined function: query() in /home/vbulleti/public_html/includes/functions.php on line 500
its working and saiving backup but without any cahnge with first version.
I waite version 2.0 :up:
Regards

alkahf

cLord 04-30-2004 02:07 AM

Quote:

Automatic Database Back-up


Fatal error: Call to a member function on a non-object in /home/website/public_html/includes/functions_cron.php on line 198

Fatal error: Call to undefined function: query() in /home/website/public_html/includes/functions.php on line 500
Can someone please help?
I get this message when I run the script manually, (the backup is made!)
When I try to run the script automated nothing happens! (no backup is made)

cLord :(

Logikos 04-30-2004 08:27 AM

Seems im getting the same error as some others.

Quote:

Automatic Database Back-up (hack)


Fatal error: Call to a member function on a non-object in /home/vbhacks/public_html/forum/includes/functions_cron.php on line 198

Fatal error: Call to undefined function: query() in /home/vbhacks/public_html/forum/includes/functions.php on line 500
I open includes/functions_cron.php on line 198 and this is what i see.

PHP Code:

187: function log_cron_action($description$nextitem)
188: {
189:         global $DB_site;
190:         
191:         if (defined('ECHO_CRON_LOG'))
192:         {
193:                 echo "<p>$description</p>";
194:         }
195
196:         if ($nextitem['loglevel'])
197:         {
198:                 $DB_site->query("
199:                         INSERT INTO " 
TABLE_PREFIX "cronlog 
200:                                 (cronid, dateline, description)
201:                         VALUES
202                                 (
$nextitem[cronid], " TIMENOW ", '" addslashes($description) . "')
203:                "
);
204:         }
205: } 

Then I open includes/functions.php on line 500 and this is what i see.
PHP Code:

493:        if (is_array($shutdownqueries))
494:        {
495:                $DB_site->reporterror 0;
496:                foreach($shutdownqueries AS $query)
497:                {
498:                        if (!empty($query))
499:                        {
500:                                $DB_site->query($query);
501:                        }
502:                }
503:                $DB_site->reporterror 1;
504:        } 

Any ideas?

nektar 05-01-2004 05:37 PM

I have the same problem running 3.0.1

PHP Code:

 Fatal errorCall to a member function on a non-object in /var/www/html/forum/includes/functions_cron.php on line 198

Fatal error
Call to undefined function: query() in /var/www/html/forum/includes/functions.php on line 500 

However, I can see the tar.gz file in the backup folder, which means that sqldump finished successfully? As i undertand it, an sql file is produced and then compressing takes place. Am I right?

Thank you.

nektar 05-01-2004 05:41 PM

Removed the compression option but same error.

How can I check that I have full backup?

nektar 05-01-2004 05:45 PM

GOT IT!!!!

I disabled Log Entries in the Schedule Task and now it works. ;)


Logikos 05-02-2004 02:37 PM

Quote:

Originally Posted by nektar
GOT IT!!!!

I disabled Log Entries in the Schedule Task and now it works. ;)

I would like to be able to have log entries enabled

cLord 05-02-2004 03:43 PM

Quote:

Originally Posted by Live Wire
I would like to be able to have log entries enabled

You're not the only one! ;)

Mr. HillBilly 05-06-2004 02:45 AM

*sigh* This isn't even working. It was before then it just stopped.

All it says is back up done. but it just shows the .tar.gz file in the folder with nothing in it.

Brad 05-06-2004 08:34 AM

Version 1.3.1 was released and fixes all bugs in 1.3, please let me know how it gose for you.

Onkel_Tom 05-06-2004 09:18 AM

Hi Brad.loo,

You forget this line in your script
define('DUMP_DATE', $file_date);

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 !

Onkel_Tom 05-06-2004 10:02 PM

Okay, I wrote down the installation instruction for the change to handle all database parameters directly from config.php in few lines.

Boofo 05-06-2004 11:34 PM

Quote:

Originally Posted by Onkel_Tom
Okay, I wrote down the installation instruction for the change to handle all database parameters directly from config.php in few lines.

I will try it now. ;)

Boofo 05-06-2004 11:54 PM

Ok, it works. I had to change this (in your instructions file):

PHP Code:

if (DUMP_MAKE_TAR == '1'

to this (to get it to compress it, though):

PHP Code:

if ($DUMP_MAKE_TAR == '1'

But other than that, great job and thank you, sir. ;)

Onkel_Tom 05-07-2004 08:59 AM

Quote:

Originally Posted by Boofo
Ok, it works. I had to change this (in your instructions file):

PHP Code:

if (DUMP_MAKE_TAR == '1'

to this (to get it to compress it, though):

PHP Code:

if ($DUMP_MAKE_TAR == '1'

But other than that, great job and thank you, sir. ;)

I updated the instruction file !
Thanks Boofo ;)

Brad 05-07-2004 09:56 AM

Sorry for all the updates guys, fixed that last missed DUMP_DATE. No version change but new file in the first post.

Haven't been getting much sleep as of late, so thanks for catching all these for me, I belive the one up now should be stable enough to run until I get 2.0 wrapped up :)

Boofo 05-07-2004 10:00 AM

Quote:

Originally Posted by Brad.loo
Sorry for all the updates guys, fixed that last missed DUMP_DATE. No version change but new file in the first post.

Haven't been getting much sleep as of late, so thanks for catching all these for me, I belive the one up now should be stable enough to run until I get 2.0 wrapped up :)

Brad, I hope you are going to use Onkel_Tom's code when you update to the new version. It works flawlessly and I like the idea that my password and other info isn't in 3 or 4 files when it only needs to be in one. ;)

Onkel_Tom 05-07-2004 01:22 PM

For my "old" friend Boofo now a restore script for the database backups to try.
All is explained in the script itself, and please corect my bad english, I'm german and learned english only in school ;)

Please remove the script after testing from your server because it's a to big security risc to leave them at the server!
Should be only used if a restore of an backup must be done.

Boofo 05-07-2004 01:37 PM

Quote:

Originally Posted by Onkel_Tom
For my "old" friend Boofo now a restore script for the database backups to try.
All is explained in the script itself, and please corect my bad english, I'm german and learned english only in school ;)

Please remove the script after testing from your server because it's a to big security risc to leave them at the server!
Should be only used if a restore of an backup must be done.

You just keep them coming, sir. I will test this out. And, thank you, again. ;)

Evilboy 05-07-2004 02:45 PM

pb :
Backup db

Database backup script was invoked without error, to check that it was done correctly see if the file was written to the folder you specified in the configuration variables. It may take some time before your server finishes backing up depending on the size of your database

?

Brad 05-07-2004 09:20 PM

Quote:

Originally Posted by Evilboy
pb :
Backup db

Database backup script was invoked without error, to check that it was done correctly see if the file was written to the folder you specified in the configuration variables. It may take some time before your server finishes backing up depending on the size of your database

?

This is new, to let you know that the php part is done, but the back-up may or may not be finished.

The script will not automaticly throw a 'done' message like most vbcron scripts.


All times are GMT. The time now is 08:01 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.01643 seconds
  • Memory Usage 1,918KB
  • 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
  • (1)bbcode_code_printable
  • (20)bbcode_php_printable
  • (16)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
  • (40)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