Daily IT Matters, this is the place where I post my daily findings on IT.

Thursday, November 22, 2007

RAR command line with real world example

Every week I make an ASR backup of my Windows 2003 R2 servers, some of them are physically located at another site.
Due to that fact I had to think of a secure way to get my data over the WAN to my office.
Just plain copying is not an option because we all know if one bit falls over my complete ASR backup is rubbish.
And I would have wasted precious bandwidth.

A solution I could come up with was to use plain old WinRar, I found out that there was a command line version as well.
But the help that comes with that version is kinda cryptic.

Below is my command line that I came up with.
rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

I will explain it in full detail:
rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

a = add files to archive, that really speaks for itself I think.
we are going to add files to an archive.

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

d:\asr-bu\done\asr_server.rar = this is the name of the archive we are going to create.

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

-ri1 = this gives the archive process a priority of 1 which is the lowest, this way archiving will not degrade the performance of the server to much.

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

-mt2 = Multithreaded: If you have a multithreaded cpu then with this command you give both threads work.

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

-ag[yyyy-mm-dd] = here you give the archive a name with [2007-11-22] attached to it.

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

-rv10 = This is for me the most important option: this switch create recovery volumes called REV files the number indicates how many REV will be made.

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

-v51200 = here we specify the maximum size of a rar archive (we are creating an archive that will span a number of archives. The number 51200 is chose because it will show as 50.000 KB nicely in explorer (1024x50)

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

-m5 = This is how you specify the compression level 5 is maximum compression 0 is just store no compression at all.

rar a d:\asr-bu\done\asr_server.rar -ri1 -mt2 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 d:\asr-bu\*.bkf

d:\asr-bu\*.bkf = here we specify what to store in the Archive we create. My ASR backup is stored at this location, I use also a date in my naming of ASR's so I must use a wildcard here.

All of this results in the following set of rar files

asr_server[2007-11-22].part002.rar etc...


I hope this helps you.



RAR 3.70   Copyright (c) 1993-2007 Alexander Roshal   22 May 2007
Shareware version         Type RAR -? for help

Usage:     rar <command> -<switch 1> -<switch N> <archive> <files...>
               <@listfiles...> <path_to_extract\>

  a             Add files to archive
  c             Add archive comment
  cf            Add files comment
  ch            Change archive parameters
  cw            Write archive comment to file
  d             Delete files from archive
  e             Extract files to current directory
  f             Freshen files in archive
  i[par]=<str>  Find string in archives
  k             Lock archive
  l[t,b]        List archive [technical, bare]
  m[f]          Move to archive [files only]
  p             Print file to stdout
  r             Repair archive
  rc            Reconstruct missing volumes
  rn            Rename archived files
  rr[N]         Add data recovery record
  rv[N]         Create recovery volumes
  s[name|-]     Convert archive to or from SFX
  t             Test archive files
  u             Update files in archive
  v[t,b]        Verbosely list archive [technical,bare]
  x             Extract files with full path

  -             Stop switches scanning
  ac            Clear Archive attribute after compression or extraction
  ad            Append archive name to destination path
  ag[format]    Generate archive name using the current date
  ao            Add files with Archive attribute set
  ap<path>      Set path inside archive
  as            Synchronize archive contents
  av            Put authenticity verification (registered versions only)
  av-           Disable authenticity verification check
  c-            Disable comments show
  cfg-          Disable read configuration
  cl            Convert names to lower case
  cu            Convert names to upper case
  df            Delete files after archiving
  dh            Open shared files
  ds            Disable name sort for solid archive
  e[+]<attr>    Set file exclude and include attributes
  ed            Do not add empty directories
  en            Do not put 'end of archive' block
  ep            Exclude paths from names
  ep1           Exclude base directory from names
  ep2           Expand paths to full
  ep3           Expand paths to full including the drive letter
  f             Freshen files
  hp[password]  Encrypt both file data and headers
  id[c,d,p,q]   Disable messages
  ieml[addr]    Send archive by email
  ierr          Send all messages to stderr
  ilog[name]    Log errors to file (registered versions only)
  inul          Disable all messages
  ioff          Turn PC off after completing an operation
  isnd          Enable sound
  k             Lock archive
  kb            Keep broken extracted files
  m<0..5>       Set compression level (0-store...3-default...5-maximal)
  mc<par>       Set advanced compression parameters
  md<size>      Dictionary size in KB (64,128,256,512,1024,2048,4096 or A-G)
  ms[ext;ext]   Specify file types to store
  mt<threads>   Set the number of threads
  n<file>       Include only specified file
  n@            Read file names to include from stdin
  n@<list>      Include files in specified list file
  o+            Overwrite existing files
  o-            Do not overwrite existing files
  oc            Set NTFS Compressed attribute
  or            Rename files automatically
  os            Save NTFS streams
  ow            Save or restore file owner and group
  p[password]   Set password
  p-            Do not query password
  r             Recurse subdirectories
  r0            Recurse subdirectories for wildcard names only
  ri<P>[:<S>]   Set priority (0-default,1-min..15-max) and sleep time in ms
  rr[N]         Add data recovery record
  rv[N]         Create recovery volumes
  s[<N>,v[-],e] Create solid archive
  s-            Disable solid archiving
  sc<chr>[obj]  Specify the character set
  sfx[name]     Create SFX archive
  si[name]      Read data from standard input (stdin)
  sl<size>      Process files with size less than specified
  sm<size>      Process files with size more than specified
  t             Test files after archiving
  ta<date>      Process files modified after <date> in YYYYMMDDHHMMSS format
  tb<date>      Process files modified before <date> in YYYYMMDDHHMMSS format
  tk            Keep original archive time
  tl            Set archive time to latest file
  tn<time>      Process files newer than <time>
  to<time>      Process files older than <time>
  ts<m,c,a>[N]  Save or restore file time (modification, creation, access)
  u             Update files
  v             Create volumes with size autodetection or list all volumes
  v<size>[k,b]  Create volumes with size=<size>*1000 [*1024, *1]
  vd            Erase disk contents before creating volume
  ver[n]        File version control
  vn            Use the old style volume naming scheme
  vp            Pause before each volume
  w<path>       Assign work directory
  x<file>       Exclude specified file
  x@            Read file names to exclude from stdin
  x@<list>      Exclude files in specified list file
  y             Assume Yes on all queries
  z[file]       Read archive comment from file



Friday, November 09, 2007

Backup Exec 10d [Append Explained]

Well I've found out the hard way how append actually works in Backup Exec.
I thought and I think most of the people that when you create a job and in that job you select "Append to media overwrite when no appendable media is found" that the job would overwrite your media when there is no more room on the tape. This is partially true.

This does NOT work when you have set your Media set to "Infinite - allow append" then it will append until your media becomes full and then asks you for new media, I've found this quite confusing.

The trick is that you have to set the append period for your media set to a period of time otherwise your media will not be able to be overwritten when your tape becomes full.

I've set my media set to an append period of one 1 week after that the media set will be overwritten by the backup job. I have enough space for that make sure when you create your append period that you have enough room on your tape for that period, a long period works best with incremental/differential jobs obviously.

I hope this helps you in creating your backup jobs.


Technorati Tags: , , , ,

Friday, November 02, 2007

Backup Exec: How to backup DFS on windows 2003 R2

After the installation of service pack 4 of Backup Exec 10d.
I noticed that my backup of the DFS was completely empty.

I made a backup of my DFS root as specified in the lengthy manual of backup exec approximate ~1400 pages!
But all of a sudden Backup Exec seemed to have changed the way they make DFS backups.

The way to backup a DFS is now as follows:

When you create your selection list go to the server holding your DFS go to
[Shadow Copy components] ==> [User Data] ==> [Distributed Filesystem Replication] ==> [DfsrReplicatedFolders]
There you will find your Folders which you want to backup.