206.2 Backup operations (weight: 3)

Tech Tutorial: 206.2 Backup Operations #

Introduction #

Backup operations are a crucial aspect of system administration to ensure data safety and recovery in case of hardware failure, data corruption, or accidental deletion. This tutorial will cover key utilities and methodologies for performing backups on Linux systems, aligning with the LPIC-2 exam objective 206.2.

Key Knowledge Areas #

  • Awareness of backup media and filesystems suitable for backups
  • Knowledge of backup utilities
  • Understanding of backup strategies

Utilities #

  • tar
  • dump
  • restore
  • rsync
  • dd
  • mt
  • mtx
  • bzip2
  • gzip
  • xz

Step-by-Step Guide #

1. Using tar for Backups #

The tar command is used to create archives and is a standard method for backups.

Detailed Code Examples #

  • Creating a tar archive:

    tar cvf backup.tar /home/user
    

    This command creates (c) an archive file (backup.tar) containing the /home/user directory, displaying the progress (v), and using a file as output (f).

  • Extracting a tar archive:

    tar xvf backup.tar
    

    This extracts files from backup.tar with verbose output.

  • Creating a compressed tar archive using gzip:

    tar czvf backup.tar.gz /home/user
    
  • Creating a compressed tar archive using bzip2:

    tar cjvf backup.tar.bz2 /home/user
    
  • Creating a compressed tar archive using xz:

    tar cJvf backup.tar.xz /home/user
    

2. Backup and Restore Using dump and restore #

dump and restore are utilities specifically designed for backup and recovery of ext2/ext3/ext4 filesystems.

  • Performing a full backup with dump:

    dump -0u -f /mnt/backup/home.dmp /home
    

    -0u tells dump to perform a level 0 (full) backup and update the dump date. -f specifies the output file.

  • Restoring a backup:

    restore -rf /mnt/backup/home.dmp
    

    This restores files from the home.dmp dump file.

3. Incremental Backups and Synchronization with rsync #

rsync is powerful for both backing up and synchronizing data.

  • Basic rsync backup:

    rsync -av /home/user /backup/user
    

    -a stands for archive mode, and -v gives verbose output.

  • Rsync over SSH:

    rsync -avz -e ssh /home/user user@remotehost:/remote/backup
    

    -z enables compression.

4. Using dd for Low-Level Backups #

dd can be used for block-level backups, useful for whole disk or partition backups.

  • Creating a disk image:

    dd if=/dev/sda of=/mnt/backup/sda.img
    

    if is the input file (disk), and of is the output file (image).

5. Managing Tape Drives with mt and mtx #

  • Rewind a tape:

    mt -f /dev/st0 rewind
    
  • Writing to a tape with tar:

    tar cvf /dev/st0 /home/user
    
  • Loading and unloading tapes with mtx:

    mtx -f /dev/sg0 load 0
    mtx -f /dev/sg0 unload 0
    

Conclusion #

Understanding and utilizing these backup utilities and strategies will enhance your ability to protect data and recover from data loss. Regular backups and the right tools are fundamental to maintaining the integrity and availability of data in a Linux environment. Tailor your backup strategy to fit the specific needs of your systems and data to ensure optimal protection.