NSRIB(8)

NAME
nsrib - NetWorker index browser daemon

nsriba - NetWorker index browser agent daemon

SYNOPSIS
nsrib [ -s server ] [ -t timeout ] [ -v ] [ -M ]
[ -i # ] [ -C # ] [ -D # ] [ -R # ] [ -T rdir ] [ dir ]

nsriba [ -s server ] [ -c client ] [ -p path ] [ -v ]
[ -t browse_date ] [ -I index_type ] [ -N session_name ]
[ -i # ] [ -C # ] [ -D # ] [ -R # ] [ -T rdir ] [ dir ]

DESCRIPTION
The nsrib (index browser) and nsriba (index browser agent) daemons provide a convenient NFS interface in which to view NetWorker indexes. Using nsrib is the preferred method as it will launch and manage the appropriate nsriba processes as needed. The nsriba daemon gives you an NFS filesystem view of a particular NetWorker client's index as of a given time. Also, it can be used directly for situations where the flexibility provided by nsrib is not required. The nsrib and nsriba daemons appear to be an NFS server to the local kernel in a manner similar to automount(1m).

The nsrib daemon will interpret names referenced in dir without an `@' as a NetWorker client index to browse. You can also construct names of the form client@date to browse a particular index as of a particular time. You can also use the name of the form @date to browse the index for the local machine. The date is interpreted as a nsr_getdate(3) style string after replacing any underscores (_) with a space and all dashes (-) with a slash (/). When nsrib gets such a name request, it will launch and manage the appropriate nsriba process on a mount point that it builds in dir automatically. If the nsriba filesystem is not accessed within an appropriate interval, nsrib will attempt an umount of the nsriba filesystem. If successful, the symbolic link and mount directory created in dir is removed.

Below the dir/client@date directory for nsrib (or within the dir directory for nsriba), a read-only filesystem consisting of the entire NetWorker index for the specified client can be seen. At times, a local machine may not have NetWorker recover access rights for the specified client. See nsr_client(5). There may be no entries in the NetWorker index for the specified client at the appropriate time. In either of those cases, the directory will be empty (nsrib) or the command will fail (nsriba). The files and directories with in the nsriba filesystem will appear as normal UNIX files just as in recover(8), except that the access time (atime) of all files will be the "save time" of the file, not the access time of the file as stored in the index. Thus running ls -lu within an nsriba directory will show all the file save times. If an file within an nsriba filesystem is read, then nsriba will either recover the file and then return the resultant file as needed, or return an NFSERR_OPNOTSUPP ("Operation not supported") error. The actual behavior is dependent on the -R and -C flags and whether the file appears to be currently "online" to NetWorker. If a file is to be recovered, the actual operation may take a long time depending primarily on the speed and location of the underlying media that will be needed to recover the file. A separate process is used to do the actual file recovery so that the nsriba process can still respond to new NFS operations.

Within nsriba filesystems, hidden directories can be referenced for each file or directory to give information similar to the recover(8) version command. These hidden directories are named file.V. Since these hidden directories names are never returned for function calls such as readdir(3), programs such as find(1) that traverse the filesystem will never see these directories. The files and directories within these hidden directories are built up using the NetWorker file location information. The hidden directories for directories can either be named as ".V" within the directory or as dirname.V from above the directory. But when using nsrib, you can only use dir/client@date/.V to see all the versions for "/". Files within the hidden directories can be read (recovered) as any other file within the nsriba filesystem.

nsrib and nsriba must not be terminated with the SIGKILL signal (kill -9). Without an opportunity to unmount itself and clean up properly, the nsrib and nsriba mount points appear to the kernel as a non-responding NFS server. The recommended way to terminate an nsrib or nsriba process is to send a SIGTERM (kill -15) signal to the daemon. When nsriba receives a SIGTERM signal, it attempts to unmount itself and exit if the unmount is successful (the filesystem is not currently busy). When nsrib receives a SIGTERM signal, it attempts to signal any child nsriba processes, that it started, to exit. If all child nsriba processes exit, nsrib then attempts to unmount dir itself and exits if the unmount is successful (the filesystem is not currently busy).

OPTIONS

Common nsrib and nsriba options:

-s server
    Indicates the NetWorker server to use.

-i #
    Specifies "in place" mode if the corresponding file in the system is a symlink whose target string has the filename at the end.
    0 - never do "in place" recovers
    1 - do "in place" recovers only for exact matches with names of "file@date"
    2 - do "in place" recovers on any matching symlink target
    Default value is 1.

-v  Runs in verbose mode. This should only be used for debugging purposes.

-C #
    Sets an upper limit on the number of concurrent file recovers. A value of 0 will disable all recovers (independent of the -R value). Default value is 2.

-D #
    Specifies the debug level for messages. Using a number from 1 - 3 to get various (reasonable) levels of output. When running in a debugging mode, nsrib will not automatically run itself in the background. Default value is 0.

-R #
    Specifies recover mode on read.
    0 - never recover the file on NFS read.
    1 - recover the file on NFS read if "online".
    2 - always attempt a recovery of a file on NFS read.
    Default value is 2.

-T rdir
    Temporary directory to use to cache recovered files. Default value is "/usr/tmp/nsrib/Rtmp.client".

The -i, -s, -v, -C, -D, -R, and -T options to nsrib are passed through to each nsriba program started.

The following options apply only to nsrib:

-t timeout
    Indicates the time in minutes to attempt umounts of nsriba browsing directories. Default is 30 minutes.

-M  Indicates that nsrib is being monitored by another process (such as nsrexecd(8)), and should not run in the background.

The following options apply only to nsriba:

-c client
    Indicates the NetWorker client index name to browse.

-p path
    Indicates the NetWorker index path to browse.

-t browse_date
    Indicates a nsr_getdate(3) string giving the "browse as of" time. Default value is now.

-I index_type
    Indicats the type of index that is being browsed. The default is a backup index.

-N session_name
    Indicates the name to use to generate the NetWorker session name. Default value is the mount directory dir.

EXAMPLES

These examples assume that nsrib has been started on the /ib directory.

Finding files
    To find all versions of a file named foo that were owned by user last week, use this command. Note that when using find(1), you should cd(2) to the directory first to avoid using the symbolic link instead of the resultant directory.
        cd /ib/@last_week; find . -name foo -user user -ls

Seeing saved versions
    To see all the saved versions of /var/adm/messages for a NetWorker client clientname, use this command. Note that by using the -u flag to ls(1), the file save times will be displayed in the ls date field.
         ls -lu /ib/clientname/var/adm/messages.V

Recovering files
    To recover /etc/fstab as of yesterday into the /tmp directory, use this command:
         cp /ib/@yesterday/etc/fstab /tmp/fstab

FILES

/etc/mtab
    This is the file that is updated on SunOS 4.1.x as nsrib and nsriba processes are mounted and umounted.

/etc/mnttab
    This is the file that is updated on Solaris 2.x as nsrib and nsriba processes are mounted and umounted.

/ib This is the directory on which nsrib will mount itself.

/usr/tmp/nsrib
    This is the default file cache directory tree.

LIMITATIONS
The pwd(1) command fails from within a hidden ".V" directory.

The filesystem statistics returned to programs like df(1) are of minimal use.

An unreliable heuristic is used to determine if a file is currently "online" for recovery if the NetWorker server version is 3.x or earlier. In particular, if a volume on a pre-4.0 NetWorker server is marked to be at some location using the mmlocate(8) command, nsriba always performs as if the volume is "online".

SEE ALSO
mount(2V), umount(2V), signal(3), nsr_getdate(3), nsr(5), nsr_client(5), automount(8), nsrindexd(8), nsrexecd(8), recover(8)