XXCOPY
[ Back to Table of Contents ] [ << ] [ >> ]

XXCOPY TECHNICAL BULLETIN #21


From:    Kan Yabumoto           tech@xxcopy.com
To:      XXCOPY user
Subject: XXCOPY in a network environment
Date:    2000-11-14
===============================================================================

While XXCOPY is useful in a stand-alone PC, it is widely used in
network environments.  Since the default settings of various XXCOPY
operations are designed primarily for copying local drives, you
need to pay special attentions when you operate XXCOPY in a
network environment.

In this article, the following XXCOPY command switches are examined
specifically with networked environments in mind.

   /NX0    Disables the shortname preservation feature
   /FF     Tolerates up to 2-second difference in time comparison
   /CK0    Disables pre-checking of the remaining space
   /FU     Selects universal time (UNC) for file time


1.  The Shortname preservation.

      One of the reasons XXCOPY enjoys its popularity among freeware
      users is the shortname preservation feature.  While this
      feature is essential to ensure a proper duplication of the
      system drive, the feature may not work (and even becomes a
      detriment) in some networked environment with mixed Operating
      Systems (or file systems) where the source and the destination
      volumes are of different type in file system.  It is best if
      you test whether the shortname-preserving feature is working
      for you on your particular environment.

      Since shortname preservation feature requires XXCOPY to
      issue a sequence of system calls for renaming, it is a
      time consuming operation especially when it fails.  If your
      XXCOPY exhibits an inordinately low performance, you should
      suspect this feature as the likely cause of the trouble.
      In that case, just add  /NX0 to disable the feature (giving
      up the idea of preserving the shortname).  For example,
      it would be futile for XXCOPY to save the shortname while
      the underlying OS (e.g, Linux) does not even support it.

      XXCOPY sets the /NX switch on a local drive copy.  And, if
      either the source or the destination is specified by an UNC
      (starting with two backslashes.  E.g,  \\myserver\cdrive\),
      the /NX0 is used as the default setting.  If you assert your
      desire by an explicit /NX switch, the switch will be honored.

      Unfortunately, it is not always easy for XXCOPY to determine
      whether the combination of the source and the destination is
      suitable for the /NX operation, an explicit command switch
      of /NX and /NX0 should work the best.

       -----------------------------------------------------------
        Starting with v2.43.x, the shortname preservation feature
        is disabled by an UNC specifier either on src or dst.

        Due to Microsoft' XCOPY added their /N switch in recent
        Windows 9x release, XXCOPY's shortname preservation
        feature is no longer assigned to /N.  Starting with
        v2.42.0, it is controlled by /NX and /NX0.  We regret
        that this change forced us to broke existing batch files.
       -----------------------------------------------------------

      See article: XXTB #03, for related topics.


2.  Time stamp granularity.

      Different file systems use different ways to keep track of
      the date and time information associated with a file.  When
      you use XXCOPY to transfer files from one file system to another,
      you should be aware of the characteristics of the file system.
      The granularity of the file time maintained by the OS is the
      first one to note:

            File System             File time granularity
           -----------------------------------------------
            FAT12/FAT16/FAT32            2 sec
            NTFS                       100 nsec
            Unix/Linux                   1 sec

      If your XXCOPY operation does not check the file time as the
      criteria for file selection, the granularity is not an issue.
      However, when you use an operation which involves the file time,
      you should know more.  The following list shows the switches
      which depend on the time stamp of the file.

          /BI     Backup Incremental
          /BN     Backup Newer files
          /Bo     Backup Older files
          /BS     Backup Same-time/size files
          /BX     Backup Different-time/size files
          /BU     Backup (combination using /BI)
          /DA     Copies Newer files
          /DB     Copies Older files
          /DS     Copies Same-time files
          /DX     Copies Different-time files
          /CLONE  Backup (combination using /BI)

      The best way to handle such a case with mixed file systems is
      to use the /FF (Fuzzy Filetime) switch.  With the switch, XXCOPY
      will ignore the difference in filetime values for up to 2 seconds
      to accommodate the granularity difference in file time among
      various file systems.

3.  Remaining space check.

      Ideally speaking, a file copy utility should know the remaining
      space on the destination before a copy operation is started.
      That is exactly what XXCOPY does.  However, when the destination
      directory is on a remote machine, the value XXCOPY receives as
      the remaining space from the Operating system is sometimes
      not accurate.  When this happens, XXCOPY terminates the current
      session and returns the "Disk Full" error condition.

      Many users have reported that XXCOPY prematurely terminates
      a session due to a false reading on the remaining space.  That
      is, XXCOPY's idealistic design backfires --- and the more
      primitive design (e.g., the COPY command) works better by not
      checking the remaining space.  So, you can override XXCOPY's
      pre-check feature by /CK0  (default is /CK).


4.  Time stamp type, and locality .

      The original FAT12 and FAT16 file systems used by DOS had only
      one type of file time which represents the last-modified time.
      The FAT32 and NTFS maintain three types of time stamps for each
      file.

          Time when the file was Last-modified  (/FW  default)
          Time when the file was First-created  (/FC)
          Time when the file was Last-accessed  (/FA)

      By default, XXCOPY uses the Last-modified value as the file
      time (/FW).

      The file time is referenced either by the local time or by the
      universal time (UTC, also known as GMT).  The default setting
      uses the local time since most of us eat lunch at Noon(?).
      The setting is either /FL (Local, default) and /FU (UTC).


      Since we do not hear much problems associated with the
      time-representation aspects, we assume this is not a serious
      issue with XXCOPY.  But, XXCOPY is prepared to deal with it.

      See article: XXTB #15, for related topics.


5.  Conclusion

      In this article, a few solutions are provided to alleviate
      common problems dealing with XXCOPY operation across networked
      drives.  The solutions listed here generally works.  However,
      they are only a guideline and your case may involve other
      factors which are overlooked in this article.

      Please note that this article does not cover all common pitfalls.
      We welcome your feedback when you encounter similar problems
      which we have not yet addressed.


Please send E-Mail to <tech@xxcopy.com>..



© Copyright 2016 Pixelab All rights reserved.

[ XXCOPY Home ] [ Table of Contents ] [ << ] [ >> ]

Join the XXCOPY group