Difficult ‘recover’ scenarios

Even though I usually avoid using GUIs for recoveries*, given my main workstation is a Mac, I don’t have the option of using a NetWorker GUI for personal recoveries anyway.

Over time I’ve become one of those users that many Unix sysadmins dislikes – I name files and folders with prefixes including:

*

and

#

Heck, I even use ? and ? as directory prefixes.

It caught me by surprise then when I tried to recover a directory called “-Proposal”. My natural inclination was to go to the parent directory of “-Proposal” and type:

recover> add -Proposal

usage: add [-q] [filename] – add `filename’ to list of files to be recovered

As you can see, that didn’t particularly work.
Nor did the following:

recover> add — -Proposal

usage: add [-q] [filename] – add `filename’ to list of files to be recovered

Nor did:

recover> add ‘-Proposal’

usage: add [-q] [filename] – add `filename’ to list of files to be recovered

As you can imagine, it was starting to get a little bit frustrating.

To cut a long story short, in a scenario where you need to recover a directory that starts with a dash, you need to do something along the lines of the following:

  1. If the directory still exists, change into that directory in the shell, and run recover from there, or
  2. Add the parent directory, then exclude the files/directories you don’t need recovered, or
  3. If the directory doesn’t exist, make the directory, change into that directory in the shell, and run recover from there.

None of these are ideal solutions, but they do work. I hope, if you need to recover such a directory, you manage to stumble across this tip or you remember it – there are few things worse than worrying that something you really need to recover seems an impossibility.


* If you can’t turn off a file-by-file selection when you’re adding 10,000,000 files, a GUI is painful.

4 thoughts on “Difficult ‘recover’ scenarios”

  1. Hi
    Even I face one very difficult situation. My NetWorker server(7.4.4) is Redhat linux and i’m backing up clients of NDMP,windows 2003,Solaris and linux,totally 300. I dont know whenever i get the restoration work, how should i restore, Is only “nwrecover” from NetWorker server is the option ? If I want to restore some windows client data, how can i do, every time I need to login to the client machine and start “NetWorker User”

    Is there any option of having one dedicated windows server for restoration only, (even for other clients)

    Thanks & regards
    VJ

    1. There’s a variety of recovery methods you can use. For a start, you should read up on directed recoveries. From what I’m reading, at the moment all you’re doing is recoveries on the clients themselves.

      A directed recovery allows you to separate source, target and control clients – i.e., you can run the recovery from machine A, recovering files from machine B and pushing out to machine C; or you can simply recover files from machine A onto machine B, etc. Care must be taken in relation to Windows special savesets however. Savesets such as SYSTEM STATE, etc., cannot be recovered via directed recoveries.

      For Windows, Solaris, Linux, etc., you can run recover as a command line tool – recover – rather than running the recovery GUI as well.

      For directed recoveries, you need to set appropriate remote access permissions for the various clients involved.

      Note that while you can control a directed recovery from an alternate platform (e.g., run a recovery for Windows on a Linux system), you cannot recover to an alternate platform style OS, so if directing a cross platform remote recovery, the source and target clients must be the same platform.

  2. Thanks Preston. That means it is possible to do the restoration through GUI on 7.4.4 from one windows client to all other windows client. because from NetWorker User –> Recover/Directored Recover —> Source Client (It displays only one client only) and destination client (also it displays only one client).

    1. You would only see one client in each option (the current client) if you haven’t setup remote access permissions. For any client A you want to recover data for on client B, you need to add “user@B” to the remote access field for client A, where “user” is the logged in user that will be running the recovery. You have to follow a similar process as well if you’re recovering just on client B but having the recovery directed to client C.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.