NSFBackup


Table of Contents

What is it?
Can I handle databases by MicroBackup without nsfbackup?
Can I doing backups using NSFBackup without MicroBackup?
Is NSFBackup correlated with BackupAdmin?
What environment is required by nsfbackup?
What is domino-environ?
Download and Install
Setup
Running
Can I sign/encrypt copies?
Current development state

What is it?

NSFBackup is a Lotus Notes/Domino database copy utility for running under MicroBackup. MicroBackup+NSFBackup allows you to backup databases without stopping Domino server.

Can I handle databases by MicroBackup without nsfbackup?

Yes, but this is very unsafe. When you create a copy (or simply open any database for reading), this database may be opened by server for writing at same time. If transactions are disabled (this is by default), file on disk may contain partially saved changes. The only way to prevent corruption of created copy is copying by functions of Notes API.

Can I doing backups using NSFBackup without MicroBackup?

Yes, but this seems pointless. Backup management is a lot more than trivial copying, and MicroBackup performs all remaining stuff. In my own opinion, a most important feature of them is cleaning/keeping outdated archives using policies. MicroBackup is too small package (~25KBytes) to be not installed.

Is NSFBackup correlated with BackupAdmin?

Of course! Directly! BackupAdmin (backup managing application implemented as Lotus Notes database containing interface and LSScript routines) was started at Dec 2001, endured with long pauses until May 2002, then stalled finally.

Motivation of this project was very strange damage of server record in our Domino Directory database. Application skeleton was completed quickly, but then all work comes to lockup because problems with (a) visual interface, and (b) distributed/interactive/batch execution. The last in Notes/Domino environment is simultaneously complicated, lean and bandy.

Well, under Unix we have no such problems! The only idea inherited by MicroBackup from BackupAdmin is exhausting old backups.

What environment is required by nsfbackup?

Final construction is tested under ALT Linux Master only. I think that porting to other Linux/Unix platforms should be trivial.

NSFBackup package consists from 2 parts: NSFCopy binary program (written on C++ and uses NotesAPI through LNFC), that is called by NSFBackup shell script (written on Bash), that is called by MicroBackup. Under Linux small additional package domino-environ must be installed before.

MicroBackup uses Perl, GNU find and Bash.

Some parts are initially written and tested under Win32 using Borland C++ and ActiveState Perl from MSSFU. Well, if you extremely want, all together may be adopted for Windows.

What is domino-environ?

This is small package for preparing environment of Domino server under Linux: create symbolic links, fixup files ownership, etc. Because development is in early alpha stage, I strongly recommend you to install them with "rpm -i --noscripts ..." switch.

In this case, effect will be following: "libnotes.so" record will be added to "Provides" section of RPM database. rpmbuild automatically adds them to header of generated nsfbackup package.

Download and Install

Download three RPM-packages from my site:

  • microbackup
  • domino-environ
  • nsfbackup

If your APT is configured properly and attached to my repository, simply put:

apt-get install nsfbackup

Setup

Directory /etc/microbackup/nsfbackup contains text files, each of them contains relative filenames of databases to backup. By default, only one textfile is placed to this directory, which contains "names.nsf", i.e. filename of Public Address Book, also known as Domino Directory. All other files are added by you. Here are some examples:

/etc/microbackup/nsfbackup/mailboxes:
mail/ltorvald.nsf
mail/bgates.nsf
/etc/microbackup/nsfbackup/sys:
catalog.nsf
admin4.nsf
certlog.nsf
alog4.nsf
/etc/microbackup/nsfbackup/websites:
evseev_homepage.nsf
stallman_homepage.nsf

All given databases are placed to common archive named /var/microbackup/snapshot/domino/q_creation_date.zip.

Running

MicroBackup is executed by Cron daily. Manual running seems like following:

microbackup /etc/microbackup/policies/nsfbackup

It's recommended to validate your configuration stuff by running this command immediately after configuring is finished.

Can I sign/encrypt copies?

Yes. Here is complete list of NSFCopy switches:

-r   Create replicas (by default, create new copy)
-s   Resign signed docs by current ID
-S   Sign all docs by current ID
-e   Encrypt created databases by current ID (simple)
-E   Encrypt created databases by current ID (medium)
-!   Encrypt created databases by current ID (strong)
-f   Overwrite existing destination databases
-q   Quiet output
-v   Verbose output

Current development state

I finish development and mantaining all Lotus-related stuff at April 2003. My site, www.evseev.ucvt.ru, was closed by UCVT crew at September 2004. Your requests inspires new hosting on Narod.ru, and continuing maintaining by adding small improvements.

Хостинг от uCoz