-   Linux - Newbie (
-   -   using find to compare file mtime with another file's mtime (

TheFueley 12-23-2008 03:02 PM

using find to compare file mtime with another file's mtime
I have a simple backup script that is cron`ed to run nightly. Since I am tarballing over 80 gigs I am limited on the amount of backups I can keep on disk. I would like to keep about two backup tarballs on disk and delete the oldest of the three. So, WED night backup runs, THURS night backup runs, then FRI night backup runs and WED night file gets deleted. I'm not sure how to compare the mtimes of the 3 files so that the oldest can be determined and deleted. Any ideas? Thanks in advance.

stress_junkie 12-23-2008 08:06 PM


/usr/bin/stat -c %y bashrc
2008-09-12 19:27:13.000000000 -0400


/usr/bin/stat --help
Usage: /usr/bin/stat [OPTION] FILE...
Display file or file system status.

  -L, --dereference    follow links
  -f, --file-system    display file system status instead of file status
  -c  --format=FORMAT  use the specified FORMAT instead of the default;
                          output a newline after each use of FORMAT
      --printf=FORMAT  like --format, but interpret backslash escapes,
                          and do not output a mandatory trailing newline.
                          If you want a newline, include \n in FORMAT.
  -t, --terse          print the information in terse form
      --help    display this help and exit
      --version  output version information and exit

The valid format sequences for files (without --file-system):

  %a  Access rights in octal
  %A  Access rights in human readable form
  %b  Number of blocks allocated (see %B)
  %B  The size in bytes of each block reported by %b
  %C  SELinux security context string
  %d  Device number in decimal
  %D  Device number in hex
  %f  Raw mode in hex
  %F  File type
  %g  Group ID of owner
  %G  Group name of owner
  %h  Number of hard links
  %i  Inode number
  %n  File name
  %N  Quoted file name with dereference if symbolic link
  %o  I/O block size
  %s  Total size, in bytes
  %t  Major device type in hex
  %T  Minor device type in hex
  %u  User ID of owner
  %U  User name of owner
  %x  Time of last access
  %X  Time of last access as seconds since Epoch
  %y  Time of last modification
  %Y  Time of last modification as seconds since Epoch
  %z  Time of last change
  %Z  Time of last change as seconds since Epoch

Valid format sequences for file systems:

  %a  Free blocks available to non-superuser
  %b  Total data blocks in file system
  %c  Total file nodes in file system
  %d  Free file nodes in file system
  %f  Free blocks in file system
  %C  SELinux security context string
  %i  File System ID in hex
  %l  Maximum length of filenames
  %n  File name
  %s  Block size (for faster transfers)
  %S  Fundamental block size (for block counts)
  %t  Type in hex
  %T  Type in human readable form

NOTE: your shell may have its own version of stat, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.

All times are GMT -5. The time now is 08:00 PM.