CTRL Z your life

After a busy day of writing emails, copying and pasting into spreadsheets and tweaking objects in this and that presentation; I was finishing up the last of it… tapping away on my laptop at the kitchen table when my right hand suddenly slipped and the mouse went “Saturday Night Fever” on me across the tabletop only to knock a glass of water off the side.

As the glass fell in slow motion, my left hand – still resting on the keyboard, jumped into action and out of pure reflex hit CTRL Z. To paint the picture for those of you who do not use keyboard shortcuts, I tried to stop a real life glass of water from breaking on my kitchen floor by using a computer’s “Undo” command. And… smash.control_z

This immediately provided my Mrs. with a new entry for her long catalogue of ‘silly things Louis has done’, the source material for her best jokes at my expense. It was one morning as I melodramatically writhed in pain following a stubbed little toe that she suggested satirically “Why don’t you just hit CTRL Z?” Funny…I’m told. But it got me thinking about it again and you know what? I need CTRL Z in my life.

This is the stuff science fiction is made of! Oh to imagine what it would be like to live in a virtual world where you can pick the rules, read the dark warnings of William Gibson’s Burning Chrome or enjoy the pop asceticism of The Matrix. However, as we spend even more time online, our lives routinely uploaded there, perhaps the future is closer than we think.

What commands would you want in your virtual world? I am just a Backup and Disaster Recovery guy so please forgive my lack of imagination for this bucket list of Louis’ Must Have Commands For His Virtual World:

1. Save a Recovery Point from when I was 21 so I can go back and have hair again any time I want.

2. Replicate myself on holiday. After deduplicating and compressing myself so that I could travel on even a modest connection, I would encrypt myself and then, either real time or scheduled, replicate myself to a datacenter in Barbados. NICE!

3. Use Virtual Standby to create a lookalike of me. Not feeling like work today? I would spin up a Virtual Machine copy of myself fully equipped with all the relevant data; applications and send the poor chap into work instead.

4. Archive my fashion mistakes to the cloud. This is pretty much all the way from 1995 till present day with only a few exceptions like weddings and one or two fancy dress parties. I would take Granular Restore with that just in-case I am ever feeling nostalgic and want to have a laugh at one or two badly dressed memories without having to remember the whole lot.

5. Make everything much easier to do than it currently is. I’m thinking of absolutely everything here; but specific examples include: baking a decent macaron, DARPA’s math challenge and Morris dancing.

6. Deduplicate plastic bags. If only we could delete all the unnecessary plastic bags in the World! Well this is my virtual world and we just did it! Of course we’ll keep one plastic bag to put in a museum somewhere…

7. SSD my brain. Daft Punk have already had this upgrade.

8.Intuitively know exactly what to do and when to do it. In my virtual world I’m not asking to be smarter, I’m just asking that everything else is simpler.

9. Truncate my logs before I go to bed.

There is probably a far more controversial version of this list available to anyone who uses Adobe Photoshop extensively; but all of the above mentioned Backup and Disaster Recovery capabilities are available at this very moment with Arcserve UDP in both software and appliance options. And for those of us left wanting CTRL Z right now and in the real world, Virtual Reality exists via our smartphones and we still have the power to untag bad photos of ourselves on the likes of Twitter and other social media platforms. Things are looking up – we’re getting there!

Online Backup of Lotus Domino with Arcserve UDP

Since Lotus Domino is an application non-VSS aware, the database’s consistency must be guaranteed during the Arcserve Snapshot of Lotus Domino process.

Using Lotus Domino as corporate messaging system, the database’s consistency is guaranteed running custom quiescing scripts (pre-freeze and post-thaw or Cache Flush) stored in C:\Windows in the Domino Server during the backup job.

See below; Option 1

Create 1 Batch File

This will Drop all connected users & Drop Cache.

Run the following Pre backup Script

Cache-Flush.bat
“C:\Program Files\IBM\Lotus\Domino\nserver.exe” -c “drop all”

timeout /t 5 /nobreak

“C:\Program Files\IBM\Lotus\Domino\nserver.exe” -c “dbcache flush”

timeout /t 5 /nobreak

Net Time \\%computername% >> C:\Arcservebackup.log

Save As .bat

On the backup plan, add this:

backup plan

See below; Option 2

This will stop Domino Services get the DB to a consistent state and then run Snapshot.

After the Snapshot Process it will then start service once again.

You can Add Option 1 to Pre Freeze to speed up the Process.

Create 2 Batch Files

See below Create 2 Batch Files

Run one Pre backup and the other Post backup
 
pre-freeze.bat
Net Time \%computername% >> C:scripts\logs\freeze.log
rem ***************************************
rem creates and inventory of all running Domino processes
rem ***************************************
pslist | findstr /I /C:”nadminp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”naldaemn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”namgr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncalconn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncatalog” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nchronos” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncollect” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncompact” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nconvert” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndesign” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndircat” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndrt” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndsmgr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nevent” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nfixup” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nhttp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nhttpcgi” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nimap” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nimsgcnv” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nisesctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”niseshlr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nldap” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nlivecs” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nlnotes” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nlogin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nmtc” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nnntp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nnsadmin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nnotesmm” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nobject” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nomsgcnv” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nosesctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”noseshlr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”notes” >>C:scriptslogspid.lst
pslist | findstr /I /C:”npop3c” >>C:scriptslogspid.lst
pslist | findstr /I /C:”npop3″ >>C:scriptslogspid.lst
pslist | findstr /I /C:”nreport” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nrouter” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nreplica” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsapdmn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsmtpmta” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsmtp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nstatlog” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nstaddin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nstats” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsched” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nservice” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nserver” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ntaskldr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ntsvinst” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nupdate” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nupdall” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nwrdaemn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nweb” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nxpcdmn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmta” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncctctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccttcp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccbctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmout” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccdctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccdin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccdout” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ngdsscan” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ngsscan” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ngstmgr” >>C:scriptslogspid.lst
rem ***************************************
rem Stops Dominio daemon in a controller fashion
rem ***************************************
net stop “Lotus Domino Server (LotusDominoData)”
rem ***************************************
rem Wait a fair amount of time for processes to stop
rem ***************************************
Sleep 300
rem ***************************************
rem If some Domino processes are hanged, it kills all of them
rem ***************************************
for /f “tokens=2” %%I in (C:scriptslogspid.lst ) do pskill %%I
Net Time \%computername% >> C:scriptslogsfreeze.log
post-thaw.bat
net start “Lotus Domino Server (LotusDominodata)”

On the backup plan, add this:

backup plan2