Using Snapshots from Windows

***Note: For the time being, please email problem@cs.brown.edu if you are a Windows user and in need of recovering lost files. The following information is out of date as of 4/20/15.

Locating Files in the Snapshots

Each directory in the filesystem contains an invisible directory called .snapshots, which usually does not appear in directory listings. You must explicitly refer to .snapshots in order to use it. Beneath the .snapshots directory are some more directories, each of which corresponds to a snapshot. The names of these directories look strange, but it all has meaning (date and time...). The most recent might look like this: @GMT-2010.12.02-13.00.02. From there they go back in time to include ones named with -daily and -weekly.

Each of these .snapshots/* directories is a complete copy of the live directory, frozen at the moment the snapshot was created. Suppose you inadvertently delete a file called foo in your home directory. You might find snapshotted versions of it named .snapshots/@GMT-2010.12.02-13.00.02/foo or .snapshots/@GMT-2010.12.02-05.00.01-daily/foo, etc.

Note that snapshots are not taken continuously. They are discrete events that happen on a regular schedule. If you create a new file and delete it before any snapshot is taken, it is irretrievably lost.

Since every directory in the live filesystem has an invisible .snapshots directory, you can access a file in a snapshot with different paths. Suppose you lost the file foo/bar and that the backup copy that you want is in snapshot @GMT-2010.12.02-13.00.02. You can retrieve the file a couple of different ways. You can get it from .snapshots/@GMT-2010.12.02-13.00.02/foo/bar or you can get it from foo/.snapshots/@GMT-2010.12.02-13.00.02/bar. This is a very handy feature. Suppose you delete the entire foo directory and later discover that you need foo/bar back. You would be unable to use foo/.snapshots because foo no longer exists in the live filesystem. Fortunately, foo still exists in the snapshot as .snapshots/@GMT-2010.12.02-13.00.02/foo so you can retrieve file bar from there.

Each .snapshots directory and everything beneath it is strictly read-only. You cannot create, remove, or modify anything.

Cookbook Example

If you can "drag and drop" you can restore your own files from snapshots. First you have to mount the snapshots directory by doing the following: Right click on "Computer" and choose the "Map Network Drive" option. A dialogue box will appear. On the "Folder" line type \\cifs.cs.brown.edu\home\youruserid\.snapshots". A folder will appear showing icons of the .snapshots directory. The output will look something like this: <smaller></smaller>

@GMT-2010.11.08-05.00.01-weekly  @GMT-2010.12.01-05.00.01-daily
@GMT-2010.11.15-05.00.01-weekly  @GMT-2010.12.01-17.00.01
@GMT-2010.11.22-05.00.02-weekly  @GMT-2010.12.01-21.00.02
@GMT-2010.11.26-05.00.01-daily   @GMT-2010.12.02-01.00.01
@GMT-2010.11.27-05.00.01-daily   @GMT-2010.12.02-05.00.01-daily
@GMT-2010.11.28-05.00.01-daily   @GMT-2010.12.02-09.00.01
@GMT-2010.11.29-05.00.01-daily   @GMT-2010.12.02-13.00.02
@GMT-2010.11.29-05.00.01-weekly  backup
@GMT-2010.11.30-05.00.01-daily

 

Double click on the snapshot folder you want to enter and continue to do so until you reach the folder that contained the file you want to restore.

Open a window of the folder you want to restore the file to by double clicking on "Computer" and choosing the icon of your home directory (Z:). Continue to double click the appropriate folders until you reach the folder you want to restore the file to.

Now, just drag/drop the file from the window listing the snapshots to the window listing your home directory.

Note that if file name exists and you are copying over it, the drag/drop will ask if you want to overwrite the file. If you are sure you want to do that, click ok. If not, rename the old file by right clicking on it, choose "Rename", and add .bad, or something like that, to its name. Then you can drag/drop the file and still keep the old one.