Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

ProcessHow to do a blog backup:

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

2.) We'll be using the "blogbackup" example in the Blogapps project (based originally on the source code for the RSS and Atom in Action book) to do a Roller backup. Do an SVN checkout of the blogutils examples:

svn co https://svn.java.net/svn/blogapps~svn/trunk/examples/javaImage Removed 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);

...

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/bobsmithImage Removed (frequently same as username).
blog_url=http://www.jroller.com/roller-services/xmlrpcImage Removed
max_entries=1000

Note: This process saves blog entry text only (in the ./saved folder as configured above, one HTML file per blog entry). Attachments (PNGs, GIFs) and any Roller CSS/template customizations will need to be backed up manuallyThe 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.