The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Open Toggle - Automate Site Opening and Closing Details »» | |||||||||||||||||||||||||||||
Open Toggle - Automate Site Opening and Closing
Developer Last Online: May 2017
Open Toggle v1.0 BETA Advanced (ish) What this does Anybody who has read through the guidelines available at vbulletin.com will know that you should perform regular backups of your database. You may also know that it is best to use mysqldump via an operating system scheduled task as using vBulletin cron may result in backup failures, especially on large databases. It is also wise to lock all tables (to prevent inserts etc) that may corrupt your backup. Now this is all well and good, however if you have tried to do this on an active site you will have seen the site grind to a halt and on occasion spit out errors to the end user. If you have any interest in user experience you should really close the site down gracefully with a meaningful user message, for example "We are currently backing up, please check back in 10 minutes". The problem is that although you can do this through admincp there is no automated way to do this from an external process (i.e. your scheduled backup script). Most of us run backups during off time and most of us probably don't want to get up at 3am to gracefully close the site for 10 minutes. This modification fixes that problem and automates the entire thing. This is not a "real" modification rather a standalone PHP script that you can call from a shell script (using wget on similar) that will open or close the site. So before you start your script mysqldump back you call the script to close the site, once done you call the script to open the site. Simples Note: This script does not do any backups Installation There is no installation, all you need to do is:
Using the script This script is designed to be called from wget, as an example your backup script would look like this: Code:
wget "http://yoursite/forum/opentoggle.php?do=close" ... Do you mysqldump here wget "http://yoursite/forum/opentoggle.php?do=open" While this script isn't data destructive if somebody "malicious" was constantly calling it and closing/opening your site you would probably be a tad miffed. So the script has various inbuilt security mechanisms, so the script can be configured to:
Other Configuration There are a few other configuration values, I won't get into specifics here as the php script is well commented. In summary you can do the following:
Sample Output If you have configured the script to create outputs you will get something like this when you call it: Code:
<toggle timestamp="Mon, 28 Sep 09 15:40:20 +0100" requesturi="/forum/opentoggle.php?do=close&msg=2" testmode=""> <result code="0">closed</result> </toggle> All the text you see above is customisable. Other Information As mentioned above this script was primarily designed to be called from wget (or similar) however there is nothing to stop you from calling it in a browser or any other mechanism capable of performing http calls. Finally, for those that are more technical. You may have noticed the following line: Code:
define('THIS_SCRIPT', 'login'); Download Now
Show Your Support
|
Comments |
#2
|
|||
|
|||
Reserved for when it goes horribly wrong
|
#3
|
|||
|
|||
Hey, very nice.
I haven't tried this yet, but I wanted to confirm a few things: To use this, we should likely be making our own backup via a *nix Chron job, and add in the call(s) to this script in that same PHP file? So, in other words, we shouldn't add anything in to the vB Scheduled Tasks, but use our web host's chron job? |
#4
|
||||
|
||||
Thanks for sharing
|
#5
|
|||
|
|||
I'm not sure if this is the intended functionality or not, but this is downloading the script into a directory. I am using a PHP script to run the
Here is the output that is emailed to me (one for the close command and one for the open): Quote:
If that isn't the intended functionality, is there another way that I can do this in a PHP script, or should I have different cronjobs, one for the forum close, one for the backup, and the other for the forum open? |
#6
|
|||
|
|||
Quote:
Quote:
Code:
mysqldump --opt -Q -u dbusername -p databasename > /path/to/backupname.sql Code:
wget "http://yoursite/forum/opentoggle.php?do=close" mysqldump --opt -Q -u dbusername -p databasename > /path/to/backupname.sql wget "http://yoursite/forum/opentoggle.php?do=open" |
#7
|
|||
|
|||
Quote:
You not need any additional scheduled scripts just edits to existing ones. |
#8
|
|||
|
|||
Most of us probably use cpanel/whm to do a backup everyday. Could you may be provide more specific instructions for such users?
Thanks. Nice job |
#9
|
|||
|
|||
Thanks very much. I do not have access to shell, so I am needing to do this via a PHP script.
Will do some more testing and see if I can get it to work. Thanks again! |
#10
|
||||
|
||||
Interesting. Tagged.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|