NSFBackup

What is it?

This is Lotus Notes/Domino database copy routine for calling from MicroBackup. MicroBackup+NSFBackup allows you to backup databases without stopping Domino server.

Can i handle databases by MicroBackup without nsfbackup?

No. When you create a copy (and open source 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 not the same as 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. This is too small package (~25KBytes) to be wasted.

Is nsfbackup correlated with BackupAdmin?

Of course! Directly! BackupAdmin was started at Dec 2001, endured with long pauses until May 2002, then stalled finally. As motive for this project was unaccountable damage of server record in our Public Address Book. 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. Obviously, porting to other Linux/Unix platforms will 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

Package Installation RPM Source RPM Source ZIP CvsWeb
MicroBackup rpm src.rpm zip cvsweb
domino-environ rpm src.rpm zip cvsweb
nsfbackup rpm src.rpm zip cvsweb

Additional instructions for access data using APT, CVS, ... are here.

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:
web_evseev.nsf
web_mipk.nsf

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

Running

MicroBackup is running by Cron daily. Manual running seems so:

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 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

Author!

Project homepage: http://www.evseev.ucvt.ru/e.nsf/alldocs/nsfbackup.

CN=Ilya Evseev/O=UCVT/C=Russia.