40
1 INFO 321 Server Technologies II Backup Applications

11 INFO 321 Server Technologies II Backup Applications

Embed Size (px)

Citation preview

Page 1: 11 INFO 321 Server Technologies II Backup Applications

11

INFO 321Server Technologies II

Backup Applications

Page 2: 11 INFO 321 Server Technologies II Backup Applications

2

System Backup

◊ A key responsibility of IT professionals is to back up and restore the servers and/or network

◊ We’ve examined the hardware and processes used to do so; now we’ll focus on the application or software side

Page 3: 11 INFO 321 Server Technologies II Backup Applications

3

System Backup

◊ In Unix/Linux systems, the ‘tar’ command is a commonly used archiving mechanism• ‘dump’ and ‘restore’ are also used

frequently

◊ ‘cron’ and variations on it are used to schedule backups• cron is named for Cronus, the Greek god

of time

Page 4: 11 INFO 321 Server Technologies II Backup Applications

4

Some guidance on backups◊ DO THEM!

• Hardware fails, often when least convenient

◊ Backup from one machine to one device• This centralizes scripting management

◊ Label your media• No, you won’t remember which one is

which

◊ Pick a reasonable backup time interval• It’s a tradeoff between effort and risk

Mostly from (Nemeth, 2007)

Page 5: 11 INFO 321 Server Technologies II Backup Applications

5

Some guidance on backups◊ Choose file system structure carefully

• Make data that changes often easier to backup

• If a few stray files need frequent backup, copy them to a directory that needed backup

◊ Daily backups should fit on one medium• Makes life easier

◊ Make file systems smaller than one medium

Page 6: 11 INFO 321 Server Technologies II Backup Applications

6

Some guidance on backups◊ Keep media off-site

• Disasters are more common than you think

◊ Protect your backups• Remember, they span file permissions• Consider encryption, and physical security

◊ Limit activities during backups• Or yes, you can mess up the archive

◊ Verify your media

Page 7: 11 INFO 321 Server Technologies II Backup Applications

7

Some guidance on backups

◊ Develop a media life cycle• And destroy media when dead

◊ Design data for backups• Consider what kinds of data you have,

how quickly it changes, how often you’ll back it up, who owns the data

◊ Prepare for the worst• Disaster planning isn’t just for FEMA

Page 8: 11 INFO 321 Server Technologies II Backup Applications

8

Tar

◊ The ‘tar’ command is short for ‘tape archive’• Its use is analogous to WinZip, in that it

also can provide compression

◊ In addition to backups, tar is also used for distributing applications• A file ending in ‘.tar’ is sometimes called

a tarball, but ‘archive’ is more polite

Most of this section is from (Sarwar, 2002)

Page 9: 11 INFO 321 Server Technologies II Backup Applications

9

Tar Archives

◊ A collection of files and/or directories is considered an ‘archive’

◊ Like most Unix/Linux commands, how tar works depends on the options selected• The c or r options are used to create a

tarball• ‘c’ creates a new archive• ‘r’ appends files onto an existing archive

Page 10: 11 INFO 321 Server Technologies II Backup Applications

10

Tar options

◊ Two other commonly used options are• ‘v’ is verbose mode, to tell what it’s doing• ‘f’ file sets the name of the archive to file;

without it, the default is the tape device /dev/rmt0 (if you have such a device!)

◊ So to create a new archive called mine.tar from the current directory down would be• tar cvf mine.tar .

Page 11: 11 INFO 321 Server Technologies II Backup Applications

11

Tar

◊ The ‘.tar’ suffix is optional – it just helps Windows figure out what the file is

◊ The options can have a dash before the first option; that’s more Unix-like

◊ So the same command could also be• tar -cvf mine.tar .

Page 12: 11 INFO 321 Server Technologies II Backup Applications

12

Tape devices

◊ If you’re actually using a tape device, it needs to be mounted before use• mount /dev/rmt0

◊ After using the device, release it with • umount /dev/rmt0

Page 13: 11 INFO 321 Server Technologies II Backup Applications

13

Restoring archives

◊ To restore an archive, use the ‘x’ option• Copy (cp) the tar file to the directory in

which you wish to unpack it• Change directory (cd) to that directory• tar xvf filename.tar

◊ This is also the option used to unpack software which is distributed in tar form

Page 14: 11 INFO 321 Server Technologies II Backup Applications

14

Selective restoration

◊ Sometimes you want to restore only specific files

◊ Use the ‘t’ option to get an ls –l format listing of archive contents• tar tvf filename.tar

◊ If the listing is long, pipe it into more• tar tvf filename.tar | more

Page 15: 11 INFO 321 Server Technologies II Backup Applications

15

Selective restoration

◊ Then you can use the tar xvf command, and add the path to the file you want• tar xvf filename.tar ./directory/onefile.doc

◊ Notice you need to specify the absolute or relative directory where the file will go

Page 16: 11 INFO 321 Server Technologies II Backup Applications

16

Adding compression

◊ Some versions of tar can also do compression, using the ‘z’ option• Use the ‘z’ option before the other

options, for both creating and unpacking the archive

• Compressed archives typically end in ‘.gz’tar –zcvf mybackup.gz to create archivetar –zxvf mybackup.gz to unpack it

Page 17: 11 INFO 321 Server Technologies II Backup Applications

17

Appending onto an archive

◊ For reasons not grammatically clear, the option to append onto an existing archive is ‘r’

◊ Need more tar? • The full GNU version of tar is described

here

Page 18: 11 INFO 321 Server Technologies II Backup Applications

18

Time to dump

◊ Most forms of Linux can use dump and restore commands to create and restore backups

◊ dump creates a list of files modified since the last dump, and combines them into one large file• This is perfect for incremental backups!• File permissions and ownership are

preservedMostly from (Nemeth, 2007)

Page 19: 11 INFO 321 Server Technologies II Backup Applications

19

Why dump?

◊ Dump is handled more consistently across Unix and Linux distributions• Many flavors of Unix don’t support the

full GNU tar features

◊ Dump requires a ‘backup level’ from 0 to 9• Level 0 forces a full backup• Level n forces backup of files changed

since the last dump of a level less than n

Page 20: 11 INFO 321 Server Technologies II Backup Applications

20

More dump options

◊ The ‘f’ option in dump identifies the target device for the dump• The parameter after the ‘f’ option and

its device is the name of the filesystem to be dumped

• dump -5u –f /dev/nst0 /work

◊ Note that dump can only archive one filesystem; in the example, it’s /work

Page 21: 11 INFO 321 Server Technologies II Backup Applications

21

More dump options

◊ The ‘u’ after the backup level (as in ‘-5u’ on the previous slide) forces dump to update a file /etc/dumpdates with the date, dump level, and filesystem name• This provides data for future dumps to

know the last dump of that filesystem

Page 22: 11 INFO 321 Server Technologies II Backup Applications

22

Remote dump

◊ Dump only works on the local machine

◊ You can use rdump to dump a local filesystem onto a remote device, such as a tape drive• rdump -0u –f anchor:/dev/nst0 /spare

Page 23: 11 INFO 321 Server Technologies II Backup Applications

23

Dump scheduling

◊ The levels in dump are strictly relative, but you can assign them to different types of backups

◊ A simple schedule could use level 0 full backups every day, and keep every Nth tape permanently

Page 24: 11 INFO 321 Server Technologies II Backup Applications

24

Dump scheduling

◊ A more complex GFS-like schedule may be• A level 9 dump daily• A level 5 dump weekly• A level 3 dump monthly• A level 0 dump at least quarterly

◊ The numbers 9, 5, 3 are arbitrary for flexibility; you could use 3, 2, 1 instead

Page 25: 11 INFO 321 Server Technologies II Backup Applications

25

Restore command

◊ The restore command does just that◊ Determine the media from which you

are restoring◊ Use a temporary directory like

/var/restore◊ The most common restore options

are –i, -f, -r, and -x

Page 26: 11 INFO 321 Server Technologies II Backup Applications

26

Restore command

◊ The restore –i option allows interactive marking of individual files to be restored• Navigate through the archive using ls, cd, and pwd commands

• Mark files to be extracted with an add command

• When done, use extract to restore those files

Page 27: 11 INFO 321 Server Technologies II Backup Applications

27

Restore command

◊ Like most backup commands, the –f option allows selection of the device to be restored

◊ So we might open an archive with• restore –i –f /dev/nst0

◊ Then add a file with add iamlost◊ And restore with extract

Page 28: 11 INFO 321 Server Technologies II Backup Applications

28

Remote restore

◊ Matching rdump, there is an rrestore command to restore off a remote tape device

◊ The –x option allows specification of a file location to be restored

◊ In a remote example we might have• rrestore –x –f tapehost:/dev/nst0 ./janet/iamlost

Page 29: 11 INFO 321 Server Technologies II Backup Applications

29

Restore a filesystem

◊ The ‘-r’ option restores an entire file system

◊ Make sure the target filesystem is properly created and mounted, and cd to the root of the filesystem

◊ Load the most recent level 0 tape and use• restore -r

Page 30: 11 INFO 321 Server Technologies II Backup Applications

30

Restore a filesystem

◊ Then restore, in order, the incremental restores since that level 0

◊ In any backup level, you only need to restore the most recent one• So if you have four level 5 dumps, only

restore the last one

Page 31: 11 INFO 321 Server Technologies II Backup Applications

31

Many filesystems on one tape

◊ It’s possible to dump many filesystems on one medium, space permitting• Just use the dump command several

times, and don’t rewind the tape in between them

◊ The mt command should be used to skip forward to the correct dump on that tape, when it’s time to restore

Page 32: 11 INFO 321 Server Technologies II Backup Applications

32

Other backup applications

◊ There are lots of other open source and proprietary backup applications• Bacula• Tivoli Storage Manager• Veritas (now owned by Symantec)

Page 33: 11 INFO 321 Server Technologies II Backup Applications

33

Timed scripting

◊ Ok great, we have a couple ways to create archives via command line

◊ Now automate the process with timed scripts, often known as ‘cron jobs’

◊ The cron system in Linux and Unix allows apps or scripts to be run at specified times

◊ It is managed via the crontab file

From (Hill, 2007) and (Nemeth, 2007)

Page 34: 11 INFO 321 Server Technologies II Backup Applications

34

Crontab

◊ Each user has a crontab file, typically under /var/spool/cron, plus a sys admin one under /etc/crontab

◊ If you don’t have one yet, create one with• crontab –e

◊ Each line in the crontab file has five numbers, followed by the command it’s to run

Page 35: 11 INFO 321 Server Technologies II Backup Applications

35

Crontab

◊ The numbers are, in order:• Minutes (00 to 59)• Hours (00 to 23, 00=midnight)• Day of the month (1-31)• Month of the year (1-12, 1=January)• Weekday (0-6, 0=Sunday)

◊ So 01 04 3 1 2 runs at 04:01 am on January 3rd OR if it’s a Tuesday

Page 36: 11 INFO 321 Server Technologies II Backup Applications

36

Crontab

◊ Ok, so that’s a little restrictive◊ You can enter a * to indicate any value

• 01 04 * * * means 04:01 am on every day of every month

◊ And you can use ranges (1-15) or comma separated specific values (01,31)• 01,31 04 1-15 6 means run at 04:01 and

04:31 on the 1st through 15th days of June

Page 37: 11 INFO 321 Server Technologies II Backup Applications

37

Crontab

◊ So if you create a backupscript to run at 3:19 am every Saturday, the full crontab line would look like• 19 03 * * 6 /usr/bin/backupscript

◊ What happens if the first field is a *?

Page 38: 11 INFO 321 Server Technologies II Backup Applications

38

Crontab

◊ You can execute multiple commands by putting them in parentheses, separated by semicolons• 30 2 * * 1 (cd /users/joe/project; make)

• This will run /users/joe/project/make at 2:30 am every Monday

Page 39: 11 INFO 321 Server Technologies II Backup Applications

39

Crontab uses

◊ So in addition to performing backups, crontab entries are handy for many purposes• Cleaning up file systems• Distributing configuration files across

the network• Rotating full log files

◊ A newer app called anacron does interval-based scheduling, but is run from cron

Page 40: 11 INFO 321 Server Technologies II Backup Applications

40

Sources

◊ Sarwar, Koretsky, Sarwar. Linux: The Textbook. (2002) Addison Wesley, ISBN 0201725959

◊ Nemeth, Snyder, Hein. Linux Administration Handbook. (2007) Prentice Hall, ISBN 0131480049

◊ Hill, et al. The Official Ubuntu Book. (2007) Prentice Hall, ISBN 0132354136