*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> dirclean (8)              
Title
Content
Arch
Section
 

dirclean(8)

Contents


NAME    [Toc]    [Back]

       dirclean - Clean directories based on time and type criteria

SYNOPSIS    [Toc]    [Back]

       /usr/sbin/dirclean [-a|c|m|t [+|-]days]... [-k types] [-n]
       [-o] [-v] [-D] dirlist

       /usr/sbin/dirclean -H

OPTIONS    [Toc]    [Back]

       Sets the threshold for file removal in terms of the file's
       atime (access time). Files are removed only if  they  were
       accessed  more  than  (+),  less  than (-), or exactly the
       specified number of whole days ago.

              It is important  to  remember  that  the  utility's
              threshold for file removal is specified in terms of
              whole days whereas a file's atime value is a timestamp
  that  includes  hours  and minutes (a partial
              day). The utility truncates the file's atime timestamp
 to whole days.  Therefore, +1 means that files
              that were last accessed at least  48  hours  before
              dirclean processing will be removed.  Specifying -1
              means that files accessed less than 24 hours before
              dirclean  processing  will  be removed, and 1 means
              files that were last accessed at least 24 hours ago
              but  less  than 48 hours ago will be removed.  Sets
              the threshold for file  removal  in  terms  of  the
              file's ctime (inode change time). Files are removed
              only if they have an inode change time that is more
              than  (+),  less than (-), or exactly the specified
              number of whole days.

              See the description of the -a option  for  information
  about  how  truncation  of  timestamp  values
              affects  specification  of  the  option   argument.
              Specifies  which  types  of  filesystem  objects to
              keep. The types string can be zero or more  letters
              from  the following list (chosen to match the -type
              option of the find  command):  Keeps  block-special
              files.    Keeps   character-special  files.   Keeps
              directories.  Keeps plain (regular)  files.   Keeps
              symbolic   links.   Keeps  named  pipes  ('fifos').
              Keeps UNIX-domain sockets.

              Alternatively, you can use -k ''  to  specify  that
              none  of  the above are to be kept; in other words,
              -k '' specifies that all  files  of  the  preceding
              types should be removed.

              If  the -k option is omitted from the command line,
              the default is -k s (keep UNIX-domain sockets).

              In all cases, dirclean removes directories only  if
              they  are  empty.   Sets  the  threshold  for  file
              removal in terms of the file's mtime  (modification
              time).  Files  are  removed  only if they were last
              modified more than (+), less than (-),  or  exactly
              the specified number of whole days ago.

              See  the  description of the -a option for information
  about  how  truncation  of  timestamp  values
              affects  specification of the option argument.  Noremoval
 mode. Tells which files would be deleted by
              the  command without actually deleting them. Specifying
 -n implicitly specifies  -v  (verbose  mode).
              Skips (does not remove) files that are open or otherwise
 in use by other  processes.   Simultaneously
              applies  the  [+|-]days  argument  to  each  of the
              atime, ctime, and mtime options. The -t option is a
              shorthand  way  of  specifying  the  -a, -c, and -m
              options with identical  arguments.   Verbose  mode;
              lists all files removed.  Debug mode; lists why any
              target entries are not removed.  Gives an  extended
              usage summary to standard output and exits successfully.

OPERANDS    [Toc]    [Back]

       Specifies one or  more  pathnames  (in  a  space-separated
       list)  of  starting  directories from which to recursively
       remove files. Pathnames may be absolute or relative.

DESCRIPTION    [Toc]    [Back]

       The dirclean utility recursively removes files  that  meet
       the  constraints  supplied by the option list. The utility
       is typically used to clean out old files from directories,
       such as /tmp, that are used as holding space for temporary
       files. The operation of this utility is similar to that of
       the  find  and  rm command combinations that are generally
       used to  remove  stale  file  entries;  however,  dirclean
       removes  files  more  quickly  and in a more secure manner
       than is possible with multi-process solutions.

       For each starting directory  (as supplied by dirlist), the
       dirclean  utility  recursively  unlinks  subordinate files
       that meet the constraints given by the options, which  may
       appear  in  any  order; however, the utility does not traverse
 any subdirectories that lead into a  different  file
       system.

       You can specify both minimum and maximum age thresholds in
       terms of a file's atime, ctime,  and  mtime  values.  This
       requires  entering two instances of the options that specify
 these thresholds to set the range. However,  an  error
       results if you specify more than one maximum and one minimum
 timestamp for any of the atime, ctime, or  mtime  settings.
  An  error  also  results  if the specified minimum
       exceeds the specified maximum. (The combination of  -a  -1
       and -a +1 is an example of this error condition.)

       If the command line does not contain any -a, -c, -m, or -t
       options, target files are removed regardless of when  they
       were created, modified, or last accessed.

RESTRICTIONS    [Toc]    [Back]

       The dirclean utility is less flexible than the find and rm
       combinations which it is  intended  to  replace.  Specifically,
  there  is no way to give dirclean a file exclusion
       list.







EXIT STATUS    [Toc]    [Back]

       Successfully traversed all the starting  directories  supplied
  by  dirlist.  At least one removal operation failed
       during directory traversal.   At  least  one  pathname  in
       dirlist was not a directory.  A system call invoked by the
       utility  failed  unexpectedly.   Incorrect  arguments   or
       another usage error was encountered.

ERRORS    [Toc]    [Back]

       The following diagnostics may be printed to standard error
       during the normal course of utility operation. The message
       text  shown  in this reference page includes printf() substitution
 directives, such as %c, which are replaced  with
       real  values as explained in the message description. However,
 a message shown with a trailing  %m  ends  with  the
       standard  strerror() text for a failure condition returned
       by an underlying system call. The diagnostic  descriptions
       do  not  discuss  the  system  call  failure messages that
       replace %m.  See intro(2)  for  information  about  errors
       returned   by  system  calls.   Usage:  dirclean  [-{acmt}
       [+-]days] [-k types] [-o] [-v] [-D] dirlist

              An unrecognized  option  was  encountered,  or  the
              dirlist  argument  was  omitted.  dirclean: Invalid
              timestamp value for '-%c' option: %s

              The argument for one of the timestamp options  (-a,
              -c,  -m,  or  -t)  was not syntactically valid. The
              argument  was  not  a  string  of  digits  with  an
              optional  leading plus (+) or minus (-) . The '-%c'
              directive is replaced with the option being parsed,
              and  the  %s directive is replaced with the invalid
              argument.  dirclean: Out-of-range  timestamp  value
              for '-%c' option: %s

              The  argument (%s) for the -a, -c, -m, or -t option
              (-%c) maps to a timestamp that is not supported  in
              standard  UNIX internal time representation format.
              Typically, this error  occurs  when  the  timestamp
              specifies  a  date  and time before 1 January 1970.
              dirclean: Timestamp value  for  '-%c'  option  conflicts
 with earlier values: %s

              The  argument  (%s) to the -a, -c, -m, or -t option
              (%c) represents a second attempt to set  a  removal
              threshold  in  terms  of  a file's atime, ctime, or
              mtime value.  dirclean: Timestamp  constraints  for
              '-%c' option impossible to satisfy: %s

              One  of  the  timestamp  options (%c) was specified
              twice, with both  a  +days  argument  and  a  -days
              value,  and the minimum value for the corresponding
              timestamp exceeds the maximum  allowed  value.  The
              second  instance  of  the argument that causes this
              condition replaces %s.  dirclean: Bad  argument  to
              -k option: valid types are "bcdflps"

              The  -k  option  included  an invalid letter in the
              types value.  (Try 'dirclean -H' for help.)

              This message is appended to any  of  the  preceding
              messages  (all  of  which note invalid command-line
              arguments) to remind the user that the dirclean  -H
              command displays usage information.  dirclean: Cannot
 open current directory: %m

              For proper operation, the dirclean utility needs to
              open  its  original directory ("."). This operation
              failed.  dirclean: Internal error:  Invalid  return
              (%d) from traversing directory: %s

              This message should never occur, as it indicates an
              internal logic error in the utility. Please  report
              any occurrence of this message, along with a way to
              reproduce the problem, to your support  representative
 or submit a Software Problem Report (SPR) that
              contains this information.  dirclean: lstat failure
              for starting directory: %s: %m

              One  of  the starting directories (%s) specified in
              dirlist  does  not  exist  or  is  not  accessible.
              dirclean:  Starting  directory  argument  is  not a
              directory: %s

              One of the starting directories  (%s)  included  in
              dirlist  is  not  a  directory.   dirclean:  Cannot
              fchdir() back to original directory after  processing
 "%s" argument: %m

              After  recursively  processing a starting directory
              (%s) in dirlist, an error occurred when the utility
              attempted  to change directory back to its original
              location. (The utility changes  directory  back  to
              its original location after processing each operand
              to ensure  correct  location  should  a  subsequent
              operand   be   specified   as   a  relative  path).
              dirclean: Cannot allocate space to  process  directory:
 %s: %m

              An  error  occurred  when the utility made a system
              call to allocate space for  holding  a  constructed
              pathname  (%s).  This  error indicates that process
              data size limits or system paging space are  unusually
 low.  dirclean: Cannot open directory: %s: %m

              The indicated directory (%s) could not be opened in
              order to traverse its entries.  dirclean: Directory
              moved during processing (skipped): %s

              The  indicated  directory  (%s) changed between the
              time the utility  parsed  and  saved  the  pathname
              operand  and the time the utility attempted to open
              that directory for processing. This error does  not
              occur  if  a directory was updated in a normal manner;
 the  error  means  that  the  directory  being
              opened  was  not the same directory as specified by
              the saved pathname.  The volatility of  the  directory
  indicates  that  processing  it  might not be
              safe; therefore, the utility  skipped  over  it  to
              process the next operand, if any.  dirclean: Cannot
              fchdir() to process directory: %s: %m

              The utility could not change location to the  indicated
  directory (%s) to start processing after the
              directory was  successfully  opened.   (This  error
              usually  means  that  the  directory's  permissions
              allow reading but not searching.)  dirclean: Cannot
              lstat() directory entry: %s: %m

              An  attempt  to  verify the file type of a pathname
              operand (%s)  failed.   dirclean:  Cannot  fchdir()
              back  to directory "%s" after processing sub-directory
 entry: %s: %m

              An attempt to return to a previous directory  level
              failed. The first %s indicates the parent directory
              for which the fchdir() system call failed, and  the
              second %s indicates the subdirectory that the utility
  had  just  finished   processing.    dirclean:
              Removed directory %s

              An  empty  directory was successfully removed. This
              message appears only if the -v option is specified.
              dirclean: Cannot unlink %s: %m

              An  attempt  to  remove the specified pathname (%s)
              failed.  dirclean: Unlinked %s

              The indicated pathname  was  successfully  removed.
              This message appears only if the -v option is specified.
  dirclean: Cannot rmdir %s: %m

              An attempt to remove a directory  (%s)  failed  for
              some reason other than condition that the directory
              was not empty.  dirclean: Failed in  fuser()  check
              of %s: %m

              The  -o  option  was specified and when the utility
              was checking to see if the indicated file (%s)  was
              in   use,  an  unexpected  error  was  encountered.
              dirclean: utimes() failure for directory %s: %m

              When trying to restore the timestamps for the specified
  directory  (%s),  an  unexpected  error  was
              encountered.

       The dirclean utility may issue  the  following  additional
       diagnostics  when  the  -D  (debug)  option  is in effect:
       Skipped entry: %s\n\tReason: %s

              This is the top-level debug message. The  indicated
              file  (the  first  %s) is not being removed for the
              reason given by the trailing %s. That  reason  will
              be  one  of  the  following: Rejected by time-stamp
              constraints

              One of the timestamp options (-a, -c,  -m,  or  -t)
              was  specified, and the corresponding timestamps on
              the indicated file  were  rejected  by  those  constraints.
  This type of file is to be preserved

              Either  the  indicated file is a UNIX-domain socket
              and -k option was not specified, or the file is one
              that an explicit -k option marked for preservation.
              Directory is the start of a different file system

              Descending  into  the  indicated  directory   would
              require crossing filesystem boundaries. Doing so is
              not supported by this utility.   Directory  is  not
              empty

              An attempt to remove a directory failed because the
              directory was not empty.  File or directory  is  in
              use by another process

              The  -o option was specified and the indicated file
              is open or otherwise in use by another process.

EXAMPLES    [Toc]    [Back]

       The following commands, which are included by  default  in
       the  root  user's crontab entry by current releases of the
       operating system, clean out the /tmp and /var/tmp directories:


              /usr/sbin/dirclean  -a  +2 /tmp/ /usr/sbin/dirclean
              -a +7 /var/tmp/

              These entries replaced the find and rm  invocations
              included in that crontab entry by older releases of
              the operating system. (For  complete  emulation  of
              the former crontab entries, these dirclean commands
              should include -k bcdlps in addition to the options
              shown.)  The following command removes empty directories
 from a directory tree ($MYDIR):

              /usr/sbin/dirclean -k bcflps $MYDIR

              This dirclean command is equivalent to the  following
 combination of find and rmdir commands:

              find $MYDIR -mount -depth -type d -exec rmdir {} \;
              In preparation for recompiling  files  in  a  large
              project,  the following command removes all entries
              from an object file directory (objs) but keeps  the
              directory itself:

              /usr/sbin/dirclean -k '' objs

ENVIRONMENT VARIABLES    [Toc]    [Back]

       Provides  a  default  value  for  the internationalization
       variables that are unset or null.  If  LANG  is  unset  or
       null,  the  corresponding value from the default locale is
       used.  If any of the internationalization  variables  contain
 an invalid setting, the utility behaves as if none of
       the variables had been defined.  If  set  to  a  non-empty
       string value, overrides the values of all the other internationalization
 variables.  Determines the locale for  the
       format  and  contents  of  diagnostic  messages written to
       standard error.  Determines the location of message  catalogs
 for the processing of LC_MESSAGES.

SEE ALSO    [Toc]    [Back]

      
      
       Commands: find(1), rm(1), rmdir(1), xargs(1)

       Functions:   fchdir(2),   fuser(2),   lstat(2),  rmdir(2),
       unlink(2), utimes(2)



                                                      dirclean(8)
[ Back ]
 Similar pages
Name OS Title
dh_clean Linux clean up package build directories
csa_list_entries HP-UX list the calendar entries that match all the attribute search criteria
findvis IRIX list OpenGL-capable Visuals meeting selection criteria
csa_read_next_reminder HP-UX reads the next reminder of the given type in the specified calendar relative to a given time
dxfileshare Tru64 Exports local directories and mounts directories from the network
CSP_FreeKey Tru64 Clean up keys (CDSA)
rcsclean FreeBSD clean up working files
rcsclean IRIX clean up working files
rcsclean OpenBSD clean up working files
FreeKey Tru64 Clean up keys (CDSA)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service