PDA

View Full Version : Administrative and Maintenance Tools - Cron job for Files Backup (attachments, avatars, etc.)


Lynne
03-07-2008, 10:00 PM
This is a script meant to run as a Scheduled Task to backup your files if you have your attachments, avatars, etc. in the file system. I have been running it for a couple of years now and given it to a few other vb admins and figured I should share it here as my first Mod. I found the basic part of the script somewhere online a couple of years ago and modified it to work with vbulletin.

Installation:
Download the file and modify the variables at the top of the file. The $backupdir should be an absolute path to a folder you wish to backup. Make sure you have a trailing "/" in the path. The $backupto variable is the absolute path to the folder for your backups. It should also have a trailing "/" in the path. Once you fill in those variables, upload the file to your "includes/cron/" directory and go to your Admin CP > Scheduled Tasks > Add New Scheduled Task and create a new task to run the script. I run mine everynight (as seen in the attachment).

Notes:
The script I have attached is made to backup three different directories. You may add more or take away some. But, make sure if you add more at the top ($backupdir4, $fileprefix4) that you add them to the backupsus call. I used to have these variables set as globals in the function, however that stopped working for me after my last upgrade and instead of figuring out if this was a server issue, I simply changed the script to accommodate the change.

I have heard that some servers do not allow the use of the passthru() function. I can't help with that as I really don't know anything about servers and their personalities. Also, I assume this will work with windows servers also, but I can't help with that either as I have absolutely no experience with windows servers. This works for me and I hope it works for you to. I'm big on having backups around as it helps me sleep better at night.

Update:
1.0.1 - I forgot a semi-colon at the end of the $backupdir lines
1.0.2 - was: $backupattach = "cd $backupdir2;
s/b : $backupattach = "cd $backupdir3;

Lynne
03-08-2008, 04:01 PM
Wanted to add to my post.... I actually have two copies of this script running on my board. One that I run that makes a backup of my avatars, profile pictures, and torrents. Then, one hour later, I run one that makes a backup of my attachments. I figured it might be a good idea to spread the load, so to speak, since I have about 7 GB of attachments and only 300 MB of the other files.

Boofo
03-08-2008, 07:39 PM
Excellent! Thank you, Lynne. ;)

valdet
03-09-2008, 12:47 PM
Installed and interested to see initial feedback before I use it.

Boofo
03-09-2008, 12:50 PM
I've been using it and it works like a charm. ;)

athlon64bit
03-09-2008, 05:20 PM
Do you intend to update this for vbulletin 3.7 when it goes gold?
It is a fantastic add-on.

Lynne
03-09-2008, 06:33 PM
Do you intend to update this for vbulletin 3.7 when it goes gold?
It is a fantastic add-on.
I will update it for 3.7 since I will need it for my board when I upgrade to 3.7.

I'm glad you like it.

edit: Actually, I just ran the script on my 3.7 beta 2 test board and it ran just fine.

Boofo
03-09-2008, 06:39 PM
Good job, Lynne! ;)

mystic10
03-09-2008, 06:41 PM
what if u want to back up ur posting data everyday..how would i add that...and so sorry for aasking such a silly question but where would my back up folder be

Lynne
03-09-2008, 06:52 PM
what if u want to back up ur posting data everyday..how would i add that...and so sorry for aasking such a silly question but where would my back up folder be
Posting data is in the database, so you would need to run a database backup cron job, which this is not. This backup script is only for the files in your folders, not for the database information.

Boofo
03-09-2008, 07:06 PM
Should be easy enough to combine both scripts, though.

Lynne
03-09-2008, 07:26 PM
Should be easy enough to combine both scripts, though.
Probably, however I know that I worry about server load and I like to space out the times that I run these sort of server intensive scripts. So, I would end up separating the database backup part out anyway to run it at a totally different time.

Boofo
03-09-2008, 07:33 PM
I totally agree and also do it that way. I was just letting them know it CAN be done, although it is not advisable for the very reasons you stated. ;)

Manhand
03-31-2008, 02:42 PM
Will this script work on 3.5?

Lynne
04-02-2008, 04:45 PM
Will this script work on 3.5?
I don't see why not. - it's very, very basic. The part I would check out is the log_cron_action and see if that function existed back then. I never ran 3.5, so I can't tell you from experience.

Boofo
04-03-2008, 01:19 AM
Yes, it does.

yalla
04-19-2008, 12:07 PM
Thank you,