                              Security and
                         System Administration
                            Software Products
                                  for
                        Novell NetWare Networks





Information in this document is subject to change without notice and 
does not represent a commitment on the part of Citadel Computer Systems 
Incorporated.  The software described in this document is furnished 
under a license agreement or non-disclosure agreement.  The software may 
be used or copied only in accordance with the terms of the agreement.  
It is against the law to copy the software on any medium except as 
specifically allowed in the license or non-disclosure agreement.  No 
part of this publication may be reproduced, transmitted, transcribed, 
stored in a retrieval system, or translated into any other language or 
computer language in whole or in part, in any form or by any means, 
whether it be electronic, mechanical, magnetic, optical, manual or 
otherwise, for any purpose without the express written permission of 
Citadel Computer Systems Incorporated.


Copyright Notice
 1991-1995 Citadel Computer Systems, Inc.  All rights reserved.


Disclaimer

Citadel believes that the information contained herein is correct and 
accurate.  However, Citadel reserves the right to make changes to the 
content without a direct or inferred obligation by Citadel to notify any 
person of such revision or changes.  Citadel assumes no responsibility 
for the use of this documentation.

The software describes herein contains valuable trade secrets and 
proprietary information.  Unauthorized use of the documentation or 
software can result in civil damages and criminal prosecution.


Trademark Notices

All products and brand names mentioned herein are trademarks and/or 
registered trademarks of their respective companies.


Technical Support

To obtain technical support, you must first send in your Product 
Registration Form.  Then, whenever you have questions, you may contact 
us in any of the following ways.


Mail

	Citadel Computer Systems, Inc.
	2950 North Loop West, Suite 1080
	Houston, TX  USA   77092


Phone Numbers:

	(713) 686-6400 (Technical Support)
	(800) 962-0701 (Sales - U.S. and Canada only)
	(713) 686-6495 (Facsimile)


Internet Email:

	contact@citadel.com
	CitadelCS@aol.com
	73541.2014@compuserve.com
_______________________________________________________________________


NetPURGE

Version 2.5e


Software Features

The NetPURGE NLM scans a network, searching for files which meet 
criteria that you specify.  Files that it finds can be logged, backed 
up, and even deleted.

You can use wildcard characters to specify filenames.  You can specify a 
file age criterion in terms of days from either its last access or its 
last update.  You can recursively search subdirectories, optionally 
specifying how deeply the tree is to be searched.  All of the actions 
taken by NetPURGE can also be logged to a file you specify.

NetPURGE can be useful for network administrators who wish to locate 
files on their network which no longer are needed (or have been sitting 
around on the network unused for quite some time), back them up to a 
single location, and even remove them automatically.

NetPURGE can also be used to hunt down those annoying *.TMP or *.!!! 
temporary files which some applications create but never remove.
NetPURGE NLM is a simple but powerful utility which can greatly ease an 
administrators job of finding ways to free up more disk space.


Software Components

NetPURGE has two components:

	netpurge.nlm	NLM software
	netpurge.ini	Initialization file


The Fine Print

Software Copyright Notice
 1994 Citadel Computer Systems, Inc.  All rights reserved.


Citadel Software License Agreement

By installing NetPURGE, you implicitly accept the terms of this license 
agreement.

Use of NetPURGE, except for demonstration versions or copies delivered 
under an agreement for a free evaluation period, requires payment and a 
license agreement.  All other use of unlicensed copies of NetPURGE by 
any person, business, corporation, government agency, or other entity or 
institution is prohibited.

If you have the product for evaluation, you may use it free for a maximum 
of 30 days.  Then you must register and pay for it, remove it from your 
system, or get approval for an extension of the evaluation period.

Copies of NetPURGE may be made for the purpose of archival backup only.  
Reverse engineering of NetPURGE is prohibited.  You may not transfer the 
product to any other party without prior written authorization from 
Citadel Computer Systems Incorporated.

NetPURGE is licensed per server.  The program may not be used in excess 
of the purchased licenses without purchase of additional licenses.


How to Install NetPURGE

- At any network workstation, insert the distribution diskette into a 
  floppy drive and copy the NETPURGE.NLM file into the SYSTEM directory 
  of your file server.

- Copy the NETPURGE.INI file to your servers SYSTEM directory.  The 
  next section explains edits you must make in this file.

- If there is a READ.ME file on the diskette, please review it for 
  information updated after this manual was prepared.

- Edit the NETPURGE.INI file to specify the actions you want NetPURGE to 
  take.  The next section explains the content of this initialization 
  file.

- Make sure your server is running current version Novell NLMs.  In 
  particular, CLIB.NLM must be up to date.  You can get updates from 
  Novells NetWire service, accessible at either of these addresses:

  World Wide Web:   http://www.novell.com/
  Compuserve:       GO NETWIRE


Software Registration

Please complete and mail your software product registration form, if you 
haven't already done so.  It's located in the "register.txt" file.


How to Use NetPURGE

Before you load the NLM, be sure to read the following section, which 
discusses how to use the NETPURGE.INI file to configure NetPURGE for 
your network.


Loading the NLM

Load NetPURGE from your system console, using this command syntax:

        :load netpurge [options]

where the following options are defined:

        -d        Specifies that extensive debugging output be produced
                  so our technical support folks can diagnose problems.

        -tHH:MM   Specifies time of day when NetPURGE is to execute.  
                  Without this option, NetPURGE runs only once.  With this
                  option, NetPURGE remains loaded and runs every day at the
                  given time.  Enter times in 24-hour format, using leading
                  zeroes for hours less than 10.  Example:  -t04:00.

        -Aattrib  Scan additionally for specified attributes.  You may use 
                  either or both of these attributes (example:  -AH):

                  H - hidden files
                  S - system files

        -h        NetPURGE prints a brief help screen, but does not load
                  or execute purge actions.


NLM Loading Examples

This command prints the NetPURGE help screen, but does not perform any 
other NetPURGE processing:

        :load netpurge -h


This console command loads NetPURGE, which immediately executes once and 
unloads itself.  NetPURGE will not remain loaded to run recurrently.

        :load netpurge


This command loads NetPURGE, so that it will run every night at 10:00 
p.m.:

        :load netpurge -t22:00


If you think you've detected a software bug, you might execute NetPURGE 
one time with the debug flag on, and then send us the logfile:

        :load netpurge -d


Initialization File

NetPURGE uses an initialization file for instructions on which files to 
process and how to process them.  This enables you to have multiple 
search criteria and handling instructions for various file patterns.

The initialization file:

- Must be located in the SYS:/SYSTEM directory.
- Must be named NETPURGE.INI.
- May contain any number of lines, all terminated by a carriage return.  
  Each entry must be completely on a single line; no continuations 
  allowed.

Each line of the initialization file must be in this syntax:

        pattern,AGE=x,[option [,option...]]

where

        pattern        Gives the volume, directory and file specification
                       for the search.  This field is required.  It is
                       specified in format "VOL:/DIR/FILE", where "FILE" 
                       may be given by wildcard characters.  Use "*.*" for 
                       global searches of a directory.

        AGE=x          Gives the age, in days, of files which will NOT be 
                       processed by NetPURGE.


The following options are valid:

        OVERRIDE       By default, NetPURGE does not process files in the 
                       directories SYS:\SYSTEM, SYS:\PUBLIC, SYS:\ETC, and 
                       SYS:\LOGIN.  The OVERRIDE option permits NetPURGE to 
                       process files in these directories.  
                       WARNING:  Removing files from these directories may 
                       cause unexpected results.  USE WITH CAUTION!

        DELETE         Remove files that are found to match the search 
                       criteria.

        RECURSE        Search subdirectories. The default is to search an 
                       entire tree structure, but you can limit the depth
                       with the DOW option.

        DOW=n          When combined with the -t option, this will specify
                       to NetPURGE which days of the week you want it to 
                       execute.

                       0 = Sundays
                       1 = Mondays
                       2 = Tuesdays
                       3 = Wednesdays
                       4 = Thursdays
                       5 = Fridays
                       6 = Saturdays
                       7 = Everyday (default)

        LOG=filename   Place all output into a log file for later viewing.
                       You specify the name of the file in the format:

                       VOLUME:\DIR\LOG.NAM

        BACKUP=dir     Specifies a directory in which to place a copy of all 
                       files found to match the search criteria. This 
                       option is useful for making an archive directory 
                       when removing files using the RECURSE option. You
                       may then backup the single directory to tape, and 
                       remove the files at your leisure.

        DEPTH=nn       Specifies a directory debth when using the RECURSE 
                       option.  To search down one level from the directory 
                       you specify you would use DEPTH=1.

        ACCESS         Uses the file access date for age determination, 
                       instead of the default, which is the date of last 
                       update. This difference between ACCESSED and UPDATED 
                       can be useful.  The executable for a program may be 
                       accessed daily, but it may not be updated for a long 
                       time.  So, an executable may have an accessed age of 1 
                       day, but an updated age of 600 days. This should be 
                       considered when configuring NetPURGE to remove files.


NETPURGE.INI Examples

All of the examples shown in this section are entered as a single line 
of text in the NETPURGE.INI file.

The following entry will cause NetPURGE to search the SYS volume (except 
for the SYS:\SYSTEM, SYS:\PUBLIC, SYS:\ETC, and SYS:\LOGIN directories) 
and log all files that have aged at least a year since their last update 
(not access).  The program will traverse the entire directory tree, but 
it will delete no files.

        SYS:/*.*,AGE=365,RECURSE,LOG=SYS:/SYSTEM/NETPURGE.LOG


The next example will delete all files on the VOL1 volume, if they were 
last updated more than 3 days ago and if they have a file name matching 
"*.$$$":

        VOL1:\*.$$$,AGE=3,DELETE,RECURSE


This entry examines the VOL2 volume, records all files not accessed for 
a year, and makes a backup copy of each in the specified backup 
directory:

        VOL2:\*.*,AGE=365,ACCESS,RECURSE,BACKUP=SYS:\BACKUPS,
                LOG=SYS:\SYSTEM\NETPURGE.LOG


The next example examines the root directory only of volume VOL3 every 
Monday, looking for files not updated for 90 days.  It records these 
files to the log file, but takes no further action.

        VOL3:\*.*,DOW=1,AGE=90,LOG=SYS:\SYSTEM\NETPURGE.WKY


This example searches only the root directory and its immediate 
subdirectories, looking for files named "*.DOC" and not updated for 90 
days.  It logs all files found, but takes no further action.

        VOL1:\DOCS\*.DOC,AGE=90,RECURSE,DEPTH=1,
                LOG=SYS:\SYSTEM\NETPURGE.DOC


This line does the same, but uses the last access date instead of the 
last update date to determine the age of the file:

        VOL1:\DOCS\*.DOC,AGE=90,ACCESS,RECURSE,DEPTH=1,
                LOG=SYS:\SYSTEM\NETPURGE.DOC


Tip

If you accidentally delete a file without backing it up (**gasp**), try 
using SALVAGE to recover it.
