Back to the main page

AMANDA Recovery

AMANDA stands for Advanced Maryland Automatic Network Disk Archiver.
It's a backup solution, basically a single master backup server can be installed to back up multiple hosts over network to tape drives/changers or disks. It uses native utilities and formats (like dump, tar), so there are some scenarios how to restore without Amanda software.

And here is the example of data recovery with Amanda software.
Let's recover something from Daily backup set, it's named MyTeam-Daily1. We are running this on backup server, Amanda version is 3.3.7. Use "help" to see valid commands.

[root@backup-server]#  amrecover MyTeam-Daily1 
AMRECOVER Version 3.3.7. Contacting server on localhost ...
220 backup-server AMANDA index server (3.3.7) ready.
Setting restore date to today (2015-06-04)
200 Working date set to 2015-06-04.
200 Config set to MyTeam-Daily1.
200 Dump host set to backup-server.company.com.
Use the setdisk command to choose dump disk to recover

amrecover>  help 
valid commands are:

add path1 ...     - add to extraction list (shell wildcards)
addx path1 ...    - add to extraction list (regular expressions)
cd directory      - change cwd on virtual file system (shell wildcards)
cdx directory     - change cwd on virtual file system (regular expressions)
clear             - clear extraction list
delete path1 ...  - delete from extraction list (shell wildcards)
deletex path1 ... - delete from extraction list (regular expressions)
extract           - extract selected files from tapes
exit
help
history           - show dump history of disk
list [filename]   - show extraction list, optionally writing to file
lcd directory     - change cwd on local file system
ls                - list directory on virtual file system
lpwd              - show cwd on local file system
mode              - show the method used to extract SMB shares
pwd               - show cwd on virtual file system
quit
listhost          - list hosts
listdisk [diskdevice]              - list disks
listproperty                       - list property
setdate {YYYY-MM-DD|--MM-DD|---DD} - set date of look
        {YYYY-MM-DD-HH-MM-SS}      - set date of look
setdisk diskname [mountpoint]      - select disk on dump host
sethost host                       - select dump host
setdevice [[-h host] device]       - select tape server and/or device
setproperty [append] [priority] name [value ...] - set a property
setmode smb|tar                    - select the method used to extract SMB shares
settranslate [on|off]              - set/unset translation of non-ASCII characters

We want to restore some files for a host with hostname "another-host"
amrecover>  sethost another-host 
501 Host another-host is not in your disklist.
Trying host another-host.company.com ...
200 Dump host set to another-host.company.com.

Determine what have been backed up for another-host
amrecover>  listdisk 
200- List of disk for host another-host.company.com
201- /usr/local/sbin
200 List of disk for host another-host.company.com

We need to restore something from /usr/local/sbin directory
amrecover>  setdisk /usr/local/sbin 
200 Disk set to /usr/local/sbin.

Determine dump history for /usr/local/sbin
amrecover> history
200- Dump history for config "MyTeam-Daily1" host "another-host.company.com" disk /usr/local/sbin
201- 2015-06-03-19-30-01 1 MyTeam-Daily1-003:3 
201- 2015-06-02-19-30-01 1 MyTeam-Daily1-002:3
201- 2015-06-01-19-30-01 1 MyTeam-Daily1-001:3
201- 2015-05-29-19-30-01 1 MyTeam-Daily1-025:3
201- 2015-05-28-19-30-01 1 MyTeam-Daily1-024:3
201- 2015-05-27-19-30-01 1 MyTeam-Daily1-023:2
201- 2015-05-26-19-30-02 1 MyTeam-Daily1-022:4
201- 2015-05-25-19-30-01 0 MyTeam-Daily1-021:3
201- 2015-05-22-19-30-01 1 MyTeam-Daily1-020:3
201- 2015-05-21-19-30-01 1 MyTeam-Daily1-019:3
201- 2015-05-20-19-30-01 1 MyTeam-Daily1-018:3
201- 2015-05-19-19-30-01 1 MyTeam-Daily1-017:2
201- 2015-05-18-19-30-01 1 MyTeam-Daily1-016:2
201- 2015-05-15-19-30-02 1 MyTeam-Daily1-015:2
201- 2015-05-14-19-30-01 0 MyTeam-Daily1-014:3
201- 2015-05-13-19-30-02 1 MyTeam-Daily1-013:2
201- 2015-05-12-19-30-01 1 MyTeam-Daily1-012:3
201- 2015-05-11-19-30-01 1 MyTeam-Daily1-011:2
201- 2015-05-08-19-30-01 1 MyTeam-Daily1-010:2
201- 2015-05-07-19-30-01 1 MyTeam-Daily1-009:3
201- 2015-05-06-19-30-02 1 MyTeam-Daily1-008:3
201- 2015-05-04-19-30-02 0 MyTeam-Daily1-006:1
200 Dump history for config "MyTeam-Daily1" host "another-host.company.com" disk /usr/local/sbin

Let's restore something from 2015-06-03
amrecover>  setdate 2015-06-03 
200 Working date set to 2015-06-03.

After date has been setup, let's look for what you need to restore (list data).
amrecover>  ls 
2015-06-03-19-30-01 test-sync-to-zfs2
2015-06-03-19-30-01 sync-home
2015-06-03-19-30-01 sync-fs2-srv
2015-06-03-19-30-01 sync-zarko
2015-06-03-19-30-01 sync-dudic
2015-06-03-19-30-01 sync-milan
2015-06-03-19-30-01 sync-alisa
2015-06-03-19-30-01 suck-akiyo
2015-06-03-19-30-01 rsync-to-valjevo 
2015-06-03-19-30-01 rsync-to-beograd
2015-06-03-19-30-01 rsync-to-osaka
2015-06-03-19-30-01 rsync-to-sakai
2015-06-03-19-30-01 backup.exp
2015-06-03-19-30-01 os-archive-external
2015-06-03-19-30-01 os-archive-prod3
2015-06-03-19-30-01 mk-users-solaris
2015-06-03-19-30-01 mk-users
2015-06-03-19-30-01 mk-alt-root
2015-06-03-19-30-01 maintain-svn-aliases
2015-06-03-19-30-01 get-vi-hg
2015-06-03-19-30-01 cp-raid-md0
2015-06-03-19-30-01 check-mounts <------- we need this one!
2015-06-03-19-30-01 ca-sync-ohoho-database
2015-06-03-19-30-01 ca-sync-hehe
2015-06-03-19-30-01 ca-sync-baba
2015-06-03-19-30-01 ca-sync-aaaaaa
2015-06-03-19-30-01 ca-sync-home-vivi
2015-06-03-19-30-01 ca-os-rsync-ca-ffffff
2015-06-03-19-30-01 ca-os-rsync-zzzzzzz
2015-06-03-19-30-01 ca-os-rsync-rrrrrrr
2015-06-03-19-30-01 ca-dump-backups-oooo
2015-06-03-19-30-01 ca-data-rsync-ppppp
2015-06-03-19-30-01 .

Select what is to be restored, using "add"
amrecover>  add check-mounts 
Added file /check-mounts

Select where on backup-server you want to place restored data
amrecover>  lcd /tmp 

Select tape server/device
amrecover>  setdevice 
Using default tape.
Tape server unspecified, assumed to be localhost.

Verify what are you restoring
amrecover>  list 
TAPE MyTeam-Daily1-003:3 LEVEL 1 DATE 2015-06-03-19-30-01 
        /check-mounts

Start recovery
amrecover>  extract 

Extracting files using tape drive chg-disk:/vtapes2/MyTeam-Daily1 on host localhost.
The following tapes are needed:  MyTeam-Daily1-003 

Extracting files using tape drive chg-disk:/vtapes2/MyTeam-Daily1 on host localhost.
Load tape MyTeam-Daily1-003 now
Continue [?/Y/n/s/d]?  Y 
./check-mounts

You are done, exit.
amrecover>  exit 
200 Good bye.

Confirm you have what you need.
[root@backup-server]# cd /tmp

[root@backup-server]# ls -la
total 132
drwxrwxrwt.  4 root         root   4096 Jun  4 15:23 .
dr-xr-xr-x. 40 root         root   4096 May 26 14:47 ..
drwx------   2 amandabackup disk 114688 Jun  4 05:38 amanda
-rwxr-xr-x   1 root         root   1048 Jun  2 07:32  check-mounts 




Back to the main page