MOSS: Backup and restore and missing Timer job definitions

If you have your SharePoint application running on Server1 and you decide to move it to Server2 with backup and restore... you'll (may) end up having application at the Server2 that doesn't have all the necessary timer job definitions. There is however way to get those timer job definitions back but it's not the most elegant way :-)

So you have restored your system (for example "stsadm -o restore -url http://demo1:1000/ -filename Backup.dat") to Server2 and you'll go to Central Administration to see all the timer job definitions of your application:

It looks like everything is fine... but if you compare this list to another application:

So quite easily you can spot that this list is a lot longer for the another application (14 vs. 19)! If you compare them by each entry then you'll notice that your application is missing:

Scheduled Approval SharePoint - 80 Minutes
Scheduled Page Review SharePoint - 80 Daily
Scheduled Unpublish SharePoint - 80 Minutes
Variations Propagate Page Job Definition SharePoint - 80 Minutes
Variations Propagate Site Job Definition SharePoint - 80 Minutes

That means that if you want to use Scheduled publishing you won't be able to do so :-( And you would have problems with Variations too.

But let's try and see what actually happens Scheduled publishing. I created page that should be published at 1:00 PM:

After a while error message comes to the toolbar (it comes few minutes after it should be published):

So "An error occurred trying to publish this page on the set schedule. Republish the page with a new date or view the log if the problem continues. " will be you destiny... and page won't be published. But this was expected since we're missing timer job for that.

In order to fix this you need to actually create site collection to your application that will create those timer job definitions (ex. Publishing Portal or Collaboration Portal). NOTE: You really need to use one of those templates that will create those timer jobs. If you use ex. Blank Site you won't have those timer job definitions that you're looking for. After you have created the new site collection you can go and verify that it has created those 5 timer jobs. After this you can go and delete the newly created site collection and restore your own system back to the application.

Reason for this seems to be that restore just creates those 14 timer job definitions and doens't restore the ones that are build on top of the base WSS. So in order to get those back you need to do this small trick that I have just described in this post.

To summarize... if you want to transfer your system you need to follow couple of extra steps:

  1. Create new web application
  2. Create new site collection to your application
    • Use Publishing Portal or Collaboration Portal templates!
  3. Verify that you have all the necessary timer jobs
  4. Delete your newly created site collection
  5. Restore your own system

I hope I made someones life a bit easier with this post. I don't think that this is the first thing that comes to your mind when you're WCM page gives you error message when it should be published :-) 

Anyways... Happy hacking!