FSSync 1.8


1. Introduction

The workstation utility FSSync (File Service Synchronization) was written in 2003 to perform some simple file copy tasks in the network I have to maintain.

It's neither very good looking and maybe not intuitive it's "designed" to do the job it was made for: Perform some action and send results via -email.

And it's still a version before 1.0, I never got enough time to finish all the things I wanted to have in it especially there's no interactive help or documentation :S

However...recently I started to add the first functionality for NetWare: Purge.

After using this feature for about a week now, I decided to make it available to other people.


Although I use the program with all features every day (mostly unattended by a locked workstation)
I can't give any guarantee to be safe from data loss or corruption.

2. Features

2.1 Basic Functions (Actions)

  • NetWare Purge (that's why I'll make it public)

  • Copy Files/Folders one or two-way, "mirror" (atm no description)

  • Analyze (very basic information, atm no description)

2.2 Additional features

  • Scheduler

  • Filters

  • SMTP notification

  • multiple jobs can run at the same time

Includes Trustee/irm support for the copy function.

3. Prerequisites

OS Platform for program execution:
  • Windows 2000 SP4, Windows XP SP2 or Windows 2003 SP1 Server (not checked but recommended)

  • Novell Client : minimum req unknown, 4.91SP2 is used by me

NetWare target servers for NetWare-specific functions (right now: "purge"):
  • NetWare 6.0 SP5, NetWare 6.5 SP2 and SP4 are used with NSS (min reqs unknown)

  • The program doesn't perform any connect operations by itself (so no login information
    needs to be stored), it's just working with the rights of the user logged-in
    (to NetWare, Windows), so make sure the user has all rights needed to perform the operations.

4. Installation

Unzip the file(s) into a separate folder.

When running for the first time the program will create subfolders:

CTRL: internally used for some control
FSJ : default storage to save/load jobs manually
FSQ : storage for scheduled jobs
logs: logfiles (atm there's no cleanup procedure available)

The current version won't make any changes to registry or other files that's why there is no
uninstall procedure needed.

5. How to use (short description on how to purge...)

5.1 Select source

When running for the first time both directory panels will be empty: For purge only the left
one is needed, open it by either using the simple folder symbol (browse) or it's neighbour
(enter directory name manually).

After the left view is opened you can continue browsing up and down (up to volume root).

The directory shown will be used as the base for the operation, EXCEPT something is selected:

If one or more entries are selected those will be used instead of the entire directory.

(for multiple selections use shift left-mouse-click).

To make sure nothing is selected a button at the upper right above the view is available.

5.2 Define job

From the main menu select Job -> Options.

What the tabs are for:


Select the action to perform (click "NW Purge")

-"Filter (Name)"

To view/change one of the four name filters: Click the button, use "Add" or "Remove" to change
the filter to your needs. While empty filters will appear in gray any filled filter lists will be
displayed in yellow.

For filenames use simple filters like *.tmp.

Directory filters work as "containing" strings, so a directory will be included or excluded
from processing if one of the filter strings is a part of the entire directory path.
(example: I'm running a purge job containing "Windows NT 5.0" and "Windows NT 5.1" to target
user's profiles in their home directory, if used with copy something like
"\Windows NT 5.1 Workstation Profile\" could be used to make it more accurate.

Files older than...days:

For purge this one will be compared to the deleted file time, use -1 to ignore time.
(Note: Although Analyze is a small feature only this option can be used to track folder
structures older than a specific time)

Dirs Include Max Filter Depth:

Use this one in conjunction with Directory Include Filter to
save processing time, the subfolder process will stop at this level to search for
Include Directory matches (break scanning further down).

-"Filter" (other)

still in work (but should work as visible).


Enter your smtp mail address, click "Add". Select the entry from list and click the options
you need at the right (no more documentation atm)

To make the notification work you'll need an SMTP server accepting mail w/o logon.
Open FSSYNC0.FSJ, change "host" and "user" as needed and remove the leading ";".

Press "OK" to apply option changes.

You may want to save the job now: From main menu use File -> Save as.

5.3 Start the job

Enter a name into the description field in the middle.
Click "SUBMIT" (if "Run now" is checked it should start immediately, I don't use this one often).

In schedule dialog:

Set Execution time and repeat options if needed, click "Hold" to prevent the job from
running automatically.

"Queued Job" is used to place the job into the regular scheduler queue, the queue has
to be activated to enable this option (see 6.). If not queued the job will be removed from
job list after program shutdown.

"OK" will place the job into the job list.

To start the job you can use the small PLAY-button at the right. If there's any schedule
for the job this button is grayed but you can use the button with "Run now" at the top right
above the job list (simple jobs and scheduled jobs are handled differently, "Run now" may
have a few seconds delay).

If a job is running you can PAUSE or STOP it by using the small buttons.

Note on "Run Now": Can be used to run a scheduled job without touching the schedule plan.

6. Scheduler Queue

The scheduler queue is stored in the subfolder FSQ and needs to be activated before it can be used.
This can be done manually by using Queue -> Load from the main menu or by command line:
FSSYNC.EXE QLOAD . Loading the queue means all jobs stored in the queue folder are loaded
into the job list and are ready to be processed.

6.1 Changing a scheduled job

The job schedule can be viewed/changed by using the schedule button (Reschedule job) above.
To change options or source/target use the "Edit Job" button, make the changes and use SUBMIT
to apply the changes.

7. Some Details and Issues

7.1 Multiple Tasks

Up to 8 different jobs can run at the same time, the start of more jobs is delayed until
an active job is finished.

7.2 Codepage

The program tries to translate to codepage 850, works fine for me. If something fails there
the purge process may stop (see log page).

7.3 Issues

Some issues i know about and I'm already working on:

  • Copy won't break when target is not reachable, shouldn't be a serious problem however
    the process tries to copy every source file (and fails...)

  • Program will show activity all the time: the mail notification thread is running all the
    time scanning for new mails to process

  • Memory usage: I'm not aware of serious memory leaks, however the usage may increase
    during purge scan process. The amount of memory mostly depends on how much deleted files
    are in a single directory when using the filtered purge for the first time it may
    use more memory and time...

8. Feedback

Of course, I know there are lots of things that could be improved...just send a message


Updates should be available at http://dirkhuemmer.eu/fssync



How To-Best Practice
Comment List