Sunday, June 17, 2012

Why I Love Windows: A step by step guide to backing up photos

Christy brings a lot to our marriage: postage stamps (I was running low), milk for Madeleine, household decorations, love, and a laptop running Windows Vista.  How do I know it's running Vista?  Because of the sticker under my left hand.  I wonder if Windows 7 comes with a replacement sticker.


To our marriage I contribute a little laptop running Ubuntu (a flavor of Linux) and an old pile of junk computer that stays in the garage (also running Ubuntu).

On the Vista box are many photos that we'd like to keep, like this one:

Notice the large gash on my arm earned defending Madeleine from a pack of marauding wolves.
Here are the 5 simple steps I performed to preserve my magnificent arms for future generations:


Step 1: Choose some software

I research backup solutions and finally decide on CrashPlan because the software works with both Linux and Windows (and Mac, though we don't have one).  You can store backups on local hard drives or your friends' computers, for free.  (Or you can pay $6/mo to backup to their servers).

Bam!  Download it and back up the photos to a USB hard drive I had sitting around.  Then, bam!  Back up my Eeepc.  Now everything is backed up.  Except, if I've learned anything about backing things up:
  1. It has to be automatic or you'll never keep it up
  2. There needs to be redundancy or the same grenade that blows up your laptop will destroy your backup too.


Step 2: Buy some hardware

After several days of hunting, I decide to buy one of these Synology DS112j NAS boxes:

And fill it with one of these:
Which holds about 2 trillion of these:

(without the chocolate or peanut butter)


Step 3: Set up the network

When the Synology box, a kind of Network Attached Storage (NAS), arrives, I excitedly put it all together (dead simple) and set up a private network.  Here's a diagram of the network (brought to you by www.asciiflow.com):


+--------+           +----------+          +---------------+
| Vista  |           | wireless | ethernet | Synology      |
| box    +( ( ( ( ( (+ router   +----------+ NAS           |
|        |           |          |          | lots of bites |
+--------+           +-----+----+          +---------------+
                           _
            the waves of   _
+--------+    wifi         _
| Ubuntu |                 _
| box    +( ( ( ( ( ( ( ( (+
|        |
+--------+

Perfect! Now both computers will be able to access the big wad of bits simultaneously, from anywhere in the house.  And CrashPlan will continuously back up our stuff!


Step 4: Mount a network drive in Vista

To mount a network drive in Vista, I click the branded orb in the lower left-hand corner, then choose "Network".  In the window that pops up


I see SYNNY (the name I gave the NAS; remember, the one with the chocolates in it?) so I double click it.  It asks me for the username and password.  I put the credentials in, and then I see the acer.bak folder that I made for backing up Mr. Vista.


I right-click and choose Map Network Drive... (don't read too much into the ellipsis; it's neither intended to instill a sinister sense of foreboding nor foretell the myriad sorrows awaiting those who seek to map the network drive)


Okay, so map drive Y: to the \\SYNNY\acer.bak folder and it will reconnect at logon.  Great!  Just what I need.  I press the Finish button.


Step 5: Direct CrashPlan to back up to network mapped drive

I open CrashPlan, go to the Destinations tab and...


Hey?  Where's the Y: drive?  Maybe it got disconnected?  I click the Start crystal ball, then Computer where I see that the Y: drive is definitely available:


I Google my problem and end up with CrashPlan's official instructions for backing up to a network-mapped drive.  In short: CrashPlan can't back up to mapped network drives unless they are mapped by the SYSTEM user.

The SYSTEM user?  Lemme see, Control Panel > User Accounts > Manage another account and:


Ah, yes!  Found it.  As depicted, this computer obviously has 3 users: Christy, Guest and SYSTEM.

As a bonus, if you click on the What is a user account? link at the bottom of that window, you are taken through the Existential Wizard which helps you answer the big questions: Where do user accounts come from?  When a user account is deleted, what happens to it?  If a user account is created in a forest, and there's no one around to see it, will it make a sound when you log in?


Step 4: Mount a network drive in Vista as the SYSTEM user

The (un)recommended way from CrashPlan is to make a batch file that uses the net use command to map the drive.  I close one eye and turn my framed security credential certificates to face the wall as I put the username and password into an unencrypted file visible to anyone on the computer.  That's definitely secure.


Probably.


Step 4 1/2: Schedule a task to mount a network drive in Vista as the SYSTEM user

To schedule a task you go to Control Panel > Administrative Tools > Task Scheduler, then... uh oh:


I click OK.  I think "OK" in this context means, "Don't let little red Xs slow you down, buddy.  It's OK.  Everything's under control."  Phew!  Had me worried.

I create a task to run my batch file when any user logs in and run as the SYSTEM user.



This SYSTEM user seems pretty powerful, and I made sure to check the Run with highest privileges check box.  But don't worry, you won't be burdened with having to enter a password for any of that.  Click OK:


Got it, Vista.  Somethin's been tamperin' with Ronald's update.  Click OK.


Step 4 3/4: Log out and log in to see if... it... :(

I love Windows!  After trying several times (not shown in this post) I think the task is running correctly, and logging correctly.  In the log, I see this:

Z: has a remembered connection to \\10.10.10.30\acer.bak.  Do you
want to overwrite the remembered connection? (Y/N) [Y]:


Hmm... I'm ready for a challenge.  Somehow I've got to answer the question... in the task's command... to which I have no direct input.  But have no fear!  You can get the command's help with net use /help.




See in the help text where it says you can supply a /y flag to the command to answer yes to every question?   It's right there, between... the top... and the, uh... details, details!  Where would the fun be in documented parameters?


I add /y to my command, hoping that the second question isn't


Would you like to format this drive?  (Y/N) [Y]:


Small aside in defense of Windows

To its credit, Vista does document its errors well.  At one point, when trying to remove one of my network mappings (which the good Computer dialog thought was there), I ran into this error:


Less patient people would immediately throw up their hands.  But Vista's got your back with more help info:


But of course!  The network connection could not be found!  Now we're cookin' with gas!


Step 4 7/8: Log on again and make sure the drive was mapped.

I log back in.  The drive isn't mapped.  Hmm... must be that the task is running before it's getting a connection to the wireless network.  I add a delay to the command, then log on again.  And finally it works!


Non "techy" people might be discouraged by such a prominent red X and words like "Disconnected."  But those silly people would do well to remember the earlier prophecy from the Task Scheduler:


Remember, bright red Xs couched in warning language means everything is A-OK.


Step 5: Direct CrashPlan to back up to disconnected, network mapped drive

I go back to CrashPlan, and voila


the spoils be mine!!!!  Now everything is backed up!


Unrelated Step 6: Auto-mounting a non-SYSTEM drive automatically, without user intervention, automatically, on login, every time, without fail, automatically

Along with storing backups, we use the Synology NAS to share files between our computers.  So, I map drive as in step 4 above (the earliest step 4).  When it asks for the password


I make sure to check the Remember my password check box.  What's cool is that Vista provides a quick link to the mapped drive right after logging on:


The yellow triangle means it's important.  I click "to check the status of [my] [automatically mapped] network drives."



then I double click the automatically mapped, public share drive



I put in the password confirming that when I originally selected the Remember my password check box, I wasn't lying:  I do remember my password.


Conclusion

There's not much to conclude.  I love Windows, and everything works: