Giter VIP home page Giter VIP logo

timedog's Introduction

timedog

Automatically exported from code.google.com/p/timedog

timedog is a Perl script that displays the set of files that were saved for any given backup created by Mac OS X Time Machine. By default it shows those files that were saved in the most recent backup. The listing includes the file sizes before and after, as well as a total file count and size. The script includes an option to summarize changes to a particular directory depth, producing a more concise display, helping to get an understanding of which areas of your system are taking up the most space in the backups. It can also sort by size, and/or omit files below a given size.

Usage

  1. Open Terminal (in /Applications/Utilities)
  2. /path/to/timedog -d 5 -l * For instance, if you unzipped timedog to your Desktop, the path would be ~/Desktop/timedog

The example above uses the options -d 5 -l which will summarize the changes up to five directory levels deep, and hide rows that pertain to symbolic links. These links are often meaningless and can safely be ignored.

By default timedog shows the file changes in the most recent backup. It locates and changes to your Time Machine directory automatically (typically /Volumes/Time\ Machine/Backups.backupdb/[Computer Name]). Timestamped backup directories like 2013-05-01-163402 can be passed to timedog as an argument:

  • /path/to/timedog -d 5 -l 2013-05-01-163402

You can get a list of these with the -t option:

  • /path/to/timedog -t

Below is an example of the output.

$ ~/Desktop/timedog -d 5 -l
==> Comparing TM backup 2009-01-15-080533 to 2009-01-15-070632
    1.6KB->    2.9KB        /.Backup.log
       0B->       0B        /.com.apple.TMCheckpoint
     956B->     956B        /.exclusions.plist
       0B->       0B        /Macintosh HD/.com.apple.timemachine.supported
    1.1KB->    1.1KB        /Macintosh HD/private/var/db/.TimeMachine.Results.plist
    1.1KB->    1.1KB    [1] /Macintosh HD/private/var/db/
   12.0KB->   12.0KB        /Macintosh HD/Users/nfiedler/.DS_Store
    6.5MB->    6.6MB   [26] /Macintosh HD/Users/nfiedler/Library/Application Support/
       0B->     245B    [1] /Macintosh HD/Users/nfiedler/Library/Favorites/
   40.3KB->   42.7KB   [29] /Macintosh HD/Users/nfiedler/Library/Preferences/
    1.4MB->    1.4MB   [27] /Macintosh HD/Users/nfiedler/Library/Thunderbird/
==> Total Backup: 111 changed files/directories, 8.08MB

The number in square brackets (e.g. [26]) indicates the number of files and/or directories that changed within that particular directory tree. So in the example above, 26 entries under Application Support where changed.

Time Machine over the Network

If you are using Time Machine over the network, such as with the Time Capsule product, you will probably need to mount the backup disk image before you can use the timedog script. To do this, open the Disk Utility application (from Spotlight, type "disk utility" and press Enter; or use Finder navigate to /Applications/Utilities and launch Disk Utility), then open Finder and navigate to the network share that contains your backup image. Select and drag the disk image to the Disk Utility window and drop it. You should then see the image name in left pane of the Disk Utility window. Now select that row and click the Open button in the toolbar. A small window will appear that shows the progress. When it shows "verifying", click the Skip button; another dialog appears to report a warning, just click Ok.

At this point you will have the Time Machine backup image mounted and available for browsing. You can now follow the example usage shown in the above section.

Copying Time Machine volumes

If you have a need to copy a Time Machine volume without using a disk block copy utility, then timecopy.py might be for you. See the UsingTimecopy page for details on how this script can be used and why.

Files Accessibility

If your time machine backup includes files which are not reachable or readable as a normal user, you should run timedog using sudo

# sudo /path/to/timedog -d 5 -l

timedog's People

Contributors

jdtsmith avatar hayobaan avatar nlfiedler avatar t4k avatar

Watchers

James Cloos avatar  avatar

timedog's Issues

Time to migrate to GitHub

And not just because I think it's a good idea, but because Google Code is 
shutting down.

http://google-opensource.blogspot.com/2015/03/farewell-to-google-code.html

There is a tool that automates most of the migration.

Original issue reported on code.google.com by [email protected] on 12 Mar 2015 at 4:53

Feature request: Pre-index what would be backed up and make file manifest

This is a request for a new feature. 

Most TM problems arise from pushing huge backup sets to the disk. I think most 
users use tools like timedog to determine what large files are being backed up. 
While this is useful after the backup has taken place, it would be also useful 
to determine which files will be backed up during the next backup (just as TM 
does) and providing a manifest of these along with the file sizes. This way a 
user could exclude large file sets from the backup prior the pushing the backup 
to the disk. 

Original issue reported on code.google.com by [email protected] on 4 Nov 2010 at 5:42

Run as root

When not running the current version of timedog as root (so, even when running 
as an admin 
user), it silently ignores (or simply doesn't know about) files it cannot 
access. This also yields a 
lower total size of changed files. I don't think this is a common problem 
(though maybe plain 
users, without admin rights, need sudo all the time), so maybe this could 
simply be 
documented.

For example, running as an admin user:

~/Downloads/timedog -d 1
==> Comparing TM backup 2009-07-09-213048 to 2009-07-01-140540
    Depth: 1 directories  
    3.2KB->    3.2KB        /.Backup.log
       0B->       0B        /.com.apple.TMCheckpoint
     788B->     788B        /.exclusions.plist
   35.7MB->   60.3MB [1416] /Macintosh HD/
==> Total Backup: 1421 changed files/directories, 60.34MB


sudo ~/Downloads/timedog -d 1
Password:
==> Comparing TM backup 2009-07-09-213048 to 2009-07-01-140540
    Depth: 1 directories  
    3.2KB->    3.2KB        /.Backup.log
       0B->       0B        /.com.apple.TMCheckpoint
     788B->     788B        /.exclusions.plist
   14.3GB->   14.4GB [1423] /Macintosh HD/
==> Total Backup: 1428 changed files/directories, 14.36GB

My backup disk is attached to a remote Mac mini, so it's a sparsebundle.

The same issue occurs in TimeTracker. I found it because the logs stated many 
GBs were used, 
and disk space did indeed decrease by many GBs. However, timedog and 
TimeTracker only 
reported a much lower value. Using "find . -mtime -10" in the latest backup I 
got a warning:

    find: ./Macintosh HD/usr/local/mysql-5.0.51a-osx10.5-x86/data: Permission denied

And that folder indeed showed a 11 GB log file, and a 3.5 GB database. This 
folder is owned by 
user _mysql, group wheel.

Original issue reported on code.google.com by [email protected] on 10 Jul 2009 at 10:53

Auto-discover and mount TM volume

JD points out that auto-discovering and mounting the Time Machine volume
would be a nice feature. It seems that tms has this, so should be simple
enough to see how they do it.

Original issue reported on code.google.com by [email protected] on 16 Jan 2009 at 10:30

timecopy.py: unexpected files in Backups.backupdb directory

From michaschnecke:

While I am not an expert in Python, I have following directory message,
which confuses me:

whitebook:Desktop micha$ sudo ./timecopy.py /Volumes/hfs /Volumes/whitebook
Traceback (most recent call last):
  File "./timecopy.py", line 499, in <module>
    main()
  File "./timecopy.py", line 493, in main
    copybackupdb(src, dst, verbose, dryrun, extattr)
  File "./timecopy.py", line 326, in copybackupdb
    entries = os.listdir(src)
OSError: [Errno 20] Not a directory:
'/Volumes/hfs/Backups.backupdb/.com.apple.timemachine.supported'

Original issue reported on code.google.com by [email protected] on 19 Apr 2009 at 1:36

timecopy: script that intelligently copies TM volumes

My TM sparse bundle disk image has an "invalid sibling link" error, and one
strategy I'm employing to correct this "unfixable" error is to use the
trial version of Super Duper! to copy the TM files over to a new disk
image. It seems to be working fine, but it's extremely slow: 100GB in about
36 hours. While Super Duper! is handling the hard links properly, it's
spending a lot of time resolving them across the entire file system. It
would go a lot faster if it were aware of the TM file structure, as timedog
is. In email communication with the SD people, it became clear that they
don't see this as a problem. I, however, do.

I propose a new script, call it timecopy, that does one thing well: copies
a TM volume to another volume. It will traverse the directories in date
order and discover the hard links, reproducing the same structure in the
new volume, and copying over the files as needed. For bonus points, it
should be able to resume from where a previous copy left off. That is,
discover that the target volume already has some number of backups and
start from where it left off, copying any new backups from the source to
the target.

Original issue reported on code.google.com by [email protected] on 18 Jan 2009 at 10:39

Add instructions for mounting a network backup

For people that use Time Capsule, they may be unaware of how to mount their
backup image, and until then, timedog won't work for them. Basically it's
just a matter of opening Disk Utility and mounting the sparse bundle disk
image.

Original issue reported on code.google.com by [email protected] on 16 Jan 2009 at 7:57

Error when executing the script

What steps will reproduce the problem?
1. run timedob -d 5 -l

What is the expected output? What do you see instead?
I am supposed to get some results but all I get is "nvalid top directory at 
/System/Library/Perl/5.8.8/File/Find.pm line 592."

What version of the product are you using? On what operating system?
The latest as of now. Just downloaded the file.

Please provide any additional information below.
OS: X Leopard
Backup Device: Time Capsule

Original issue reported on code.google.com by dan%[email protected] on 12 Nov 2009 at 11:50

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.