Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
[vbcron] Automatic database backup [v1.3] Details »»
[vbcron] Automatic database backup [v1.3]
Version: 1.00, by Brad Brad is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 03-03-2004 Last Update: Never Installs: 73
Re-useable Code Translations  
No support by the author.

This script will allow you to automaticly back-up your vBulletin database (or any database you have access to).


Current Stable Version: 1.3.1

System Requirements-

vBulletin RC 2 or later
Unix/Linux server with MySQL Dump support
Ability to chmod folders to 777 (775 works on some servers)

[high]IMPORTANT NOTE TO ALL THAT USE THIS SCRIPT[/high]

This script invokes an outside process that runs in the backround on your server to backup and compress your database. It is important to remember that this is not an instant process, do not enter you ftp as soon as the script says it is done and try to download your backup. It will likely be incomplete and your server will probbly still be writting the file to disk.

I ussally give the process an hour or two before I mess with the file, larger databases will take more time of course.

Installing the script-

1. You will need to change the information here for it to work correctly on your server:

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 ########################## 
2. CHMOD the folder you specified in DUMP_PATH to 777

3. Upload the vbcron_db_backup_131.php file to the /vbroot/includes/cron directory

4. Enter you admin control panel, under Scheduled Tasks click [high]Add New Scheduled Task[/high]

Enter the information has follows:

Title: Automatic Database Back-up

Day of the Week:

This is the day of the week the task should run on. Set this to * to have it not apply, or for it to run every day (if Day of the Month is set to * below). Otherwise select a specific day. Note that this will override the day of the month option, unless this is set to *.

Day of the Month:
Set this to the specific day of the month the task should run. This is overridden by the Day of the Week setting above. Set this to * to have it not apply.

Hour:
This is the hour of the day the task should run. Set it to * to have it run every hour.

Minute:
This is the minute of the hour the task should run. Set it to * to have it run every minute (not really recommended!).

Log Actions:
If this is set to Yes, every time the scheduled task runs, a log will be made indicating that the task was run, and in certain cases, additional information will be provided (e.g. for the Birthday Email task, the usernames who were sent birthday wishes will be noted).

Filename:
Enter the path to vbcron_db_backup_131.php, ./includes/cron/vbcron_db_backup_131.php should work in most cases

What was added in 1.3.1

- Fixed all bugs reported in 1.3

What was added in 1.3

- Added ability for script to leave logs

Improvments to come:

- Email alert when db is begin backed up
- Close board when back-up is in process
- 'Lock down' db durring backup so no one can access it
- Table, by table back-up
- Clear session table before backup
- Make script more windows friendly
- Delete last .sql (or .tar.gz) file when doing current back-up
- [high]Ability to use hashed file names for back-ups[/high]
- [high]Save back-up to forgin server[/high]

To come: version 2.0

2.0 will introduce most, if not all the fetures listed above.

Public beta testing will begin in the next few days, expect a stable version in at least 2 weeks time.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #22  
Old 03-04-2004, 07:34 PM
anabolicedge anabolicedge is offline
 
Join Date: Sep 2003
Posts: 46
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

can someone explain this please? Maybe a text file with some instructions for us that dont know how.

thanks
Reply With Quote
  #23  
Old 03-04-2004, 08:47 PM
Mr. HillBilly Mr. HillBilly is offline
 
Join Date: Oct 2003
Posts: 101
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Why not just have the script get the database info from config.php?
Reply With Quote
  #24  
Old 03-04-2004, 08:59 PM
cteselle cteselle is offline
 
Join Date: Jan 2002
Location: SoCal
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great hack! *clicks install*

I modified it a tad to keep a "yesterday" and a "today". I'm sure your new version will incorporate something like this, I just couldn't wait.

PHP Code:
// move the current file so we can always keep 2 backups
print('mv ' .DUMP_PATH'/' .DB_NAME'-today.tar.gz ' .DUMP_PATH'/' .DB_NAME'-yesterday.tar.gz 2> /dev/null');

// now execute the backup
print('mysqldump --add-drop-table -h' .DB_HOST' -u' .DB_USER' -p' .DB_PASSWORD' ' .DB_NAME' 2>' .DUMP_PATH'/' .DB_NAME'-' .DUMP_DATE'-error.txt >' .DUMP_PATH'/' .DB_NAME'-' .DUMP_DATE'.sql');

if (
DUMP_MAKE_TAR == '1')
{
    
// now archive and compress the backup
    
print('tar -cSz --remove-files -C' .DUMP_PATH' -f' .DUMP_PATH'/' .DB_NAME'-today.tar.gz ' .DB_NAME'-' .DUMP_DATE'.sql ' .DB_NAME'-' .DUMP_DATE'-error.txt'); 

Reply With Quote
  #25  
Old 03-05-2004, 09:44 AM
kristian's Avatar
kristian kristian is offline
 
Join Date: Feb 2003
Location: Cambridgeshire, UK
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well - this is just not working!!! I have configured it with my own details and have put it in the scheduled tasks list but when I do 'run now' no backup is run!!!

Does my server need to have 'Safe Mode' turned off by any chance? :ermm:
Reply With Quote
  #26  
Old 03-05-2004, 09:57 AM
AlexanderT's Avatar
AlexanderT AlexanderT is offline
 
Join Date: Mar 2003
Posts: 294
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Brad.loo
Hey guys, im busy today (I just got done dumping a ton of trash with a tractor! LOL) but if I get time I may update this one today, if not tomorrow.

Planned improvements:

Zip file type support
Delete last backup when doing current one
Close boards when backing up
Clear session table before backup
Options to NOT include stuff like the postcache in the backup
Wonderful!!!
Reply With Quote
  #27  
Old 03-05-2004, 10:34 AM
Floris Floris is offline
 
Join Date: Jan 2002
Posts: 1,898
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mr. HillBilly
Why not just have the script get the database info from config.php?
exactly
Reply With Quote
  #28  
Old 03-05-2004, 12:17 PM
ThePartyBorg ThePartyBorg is offline
 
Join Date: Jan 2002
Location: Roermond, TheNetherlands
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Brad.loo
TPB:

I'll look into that for you, however the backup would then consume alot of bandwidth with the transfer to the new server
Well, we don't really have a big database (about 8k posts), and have plenty of bandwidth already, so a few more wouldn't be a problem.
Reply With Quote
  #29  
Old 03-05-2004, 04:17 PM
gmarik's Avatar
gmarik gmarik is offline
 
Join Date: May 2002
Location: Mocsow
Posts: 1,288
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sounds good. Where could I found more info about it?
Reply With Quote
  #30  
Old 03-05-2004, 07:25 PM
Mr. HillBilly Mr. HillBilly is offline
 
Join Date: Oct 2003
Posts: 101
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Question, Once it gets does it deletes the .sql file and leaves the tar.gz right?

I ran this my self from adminCP and my browser timed-out waiting for it to finish :|
Reply With Quote
  #31  
Old 03-06-2004, 03:53 PM
Morpheus84 Morpheus84 is offline
 
Join Date: May 2003
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

At my vB3 the Script won't will be work
I click on "Do it now" and my vB says "All done."
On my FTP Server there's nothing to see about a backup

Plz help.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:59 AM.


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.07471 seconds
  • Memory Usage 2,325KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete