The instructions here show how to do a backup of blog entries from a single blog using the "blogbackup" example with its Grabber.sh/.bat scripts from the Blogapps project (based originally on the source code from the RSS and Atom in Action book).  This process saves blog entry text only (one HTML file per blog entry). Attachments (PNGs, GIFs) and any Roller CSS/template customizations will need to be backed up manually.  More rigorous database-based backups are detailed in the Roller Install Guide, available in the Documentation section on the main Roller website.

As a prerequisite, the Roller blog server administrator must have the "Enable Blogger / MetaWeblog API" web services option set on the Roller Server Admin: Configuration page.

Process:

1.) Make sure you have JDK 1.6 or more recent, Apache Ant and a Subversion client installed and their bin directories added to your system classpath.

2.) Do an SVN checkout of the blogutils examples:

svn co https://svn.java.net/svn/blogapps~svn/trunk/examples/java blogutils

3.) In src/org/blogapps/blogbackup/blogbackup.java, place in the following line at line #43. It will skip any blog entries in draft status (i.e., those that haven't been published yet), avoiding an NPE two lines later in the code. (There's a JIRA item pending to make this change to the SVN trunk.)

BlogEntry entry = (BlogEntry)entries.next();
Date pubDate = entry.getPublicationDate();
if (pubDate == null) continue; <-- add this line
SimpleDateFormat format8 = new SimpleDateFormat("yyyyMMdd-HHmm");
String dateString = format8.format(pubDate);

4.) cd back to blogutils/blogbackup, read and follow the README.html to run the backup. The README will tell you to modify the blogbackup/dist/config.properties file to point to your blog. For reference, if you're hosted on JRoller, configuration similar to the below will apply:

download_dir=./saved
blog_apitype=metaweblog
blog_username=bobsmith <--- use your Roller login ID
blog_password=xxxxxxxxxxx
blog_id=bobsmith <--- for a URL like http://www.jroller.com/bobsmith (frequently same as username).
blog_url=http://www.jroller.com/roller-services/xmlrpc
max_entries=1000

The blog_url value will usually not be for your blog directly (unless it's the default blog for your installation), but the root Roller URL followed by roller-services/xmlrpc.  So if you're hosting your blog "bob" at http://www.xyz.com/roller/bob, use http://www.xyz.com/roller/roller-services/xmlrpc.

  • No labels