Data Backup And Recovery In Linux


Since applications are built using Linux files to store data, it is important for the application to backup important data files for data redundancy and recovery in case of file corruption or accidental deletion and overwriting of files.
Let's consider a scenario in which one is working on development, and the administrator receives a request to update a file, but when checking a file lost due to a bad sector in the disk. So in this scenario taking the data backup is a routine task for the admin to preserve the data.
In this section, you will learnt to perform backup and recovery of data files by means of cp and mv commands for backup, tar and cpio for recovery.

Data Backup Using CP And MV Command

Data Backup Using CP Command

To copy the content of the one file to another directory or partition for redundancy, "cp" can be used. To take backup of the existing destination file before overwriting it, use the command with the option "-b or --backup"

Option Usage
-f Force copy by removing the destination file if needed
-i Interactive - ask before overwrite
-l Link files instead of copy
-L Follow symbolic links
-b Take a backup of the destination file
cp [option]...SOURCE...DIRECTORY
cp -b login.dat ./backup_directory/login.dat
cp --backup login.dat ./backup_directory/login.dat

Data Backup Using MV Command

The "mv" command is used to move or rename files. Unlike the "cp" command, with the "mv" command file will be moved to the destination location without having a copy at the source. While moving it to another partition, backup of it can be taken and stored. While moving the files to another directory, it provides an option to take backup of the file as well. This can be done with the help of "-b" or "--backup" command option.

Option Usage
-n Does not overwrite existing file
-i Interactive - ask before overwrite
-u Move only when the source file is newer than the destination file
-b Take a backup of the destination file
mv [option]...SOURCE...DIRECTORY
mv -b login.dat ./backup_directory/login.dat
mv --backup login.dat ./backup_directory/login.dat

Difference Between CP And MV command

The difference between CP and MV command are as follows :

CP Command MV Command
A command which is used to create similar files or a directory in a new location. A command which is used to relocating the original file or a directory in a new location
Will not effect original content Will delete original content
cp [option]...SOURCE...DIRECTORY mv [option]...SOURCE...DIRECTORY
Create duplicate file Tranfer the original file

Data Recovery Using TAR And CPIO Command

Data Recovery Using TAR Command

GNU "tar" saves many files together into a single tape or disk archive, and can restore individual files from the archive Options. In this we will understand how to archive files and understand how to retrieve the data from archived files.

Option Usage
-cvf Create archive from file
-tvf List all files in archive.tar verbosely
-xf Extract all file from archive.tar
-cvzf Create a compressed gzip archive file
-rvf Append a file to the exiting archive
\\To create an archive file the following command is used.
tar -cvf login.tar /home//backup/
\\To get the files out of the archive, "tar" command with "-x" option can be used.
tar -xvf login.tar
\\To provide compression on the archive, use "-z" command option.
tar -cvzf all_login.tar /home//backup/
\\To extract a gzipped tar, use "xvzf" option.
tar -xvzf all_login.tar
\\To add files to the existing archive, the command option "-r" is to be used.
tar -rvf login.tar registration.dat

Data Backup Using CPIO Command

GNU "cpio" is a tool for creating and extracting archives, or copying files from one place to another. It handles a number of cpio formats as well as reading and writing tar files.
Copy-out mode : In copy-out mode, cpio copies files into an archive. It reads a list of filenames, one per line, on the standard input, and writes the archive onto the standard output.
Copy-in mode : In copy-in mode, cpio copies files out of an archive or lists the archive contents. It reads the archive from the standard input.
Copy-pass mode : In copy-pass mode, cpio copies files from one directory tree to another, combining the copy-out and copy-in steps without actually using an archive. It reads the list of files to copy from the standard input. The directory into which it will copy them is given as a non-option argument.

Option Usage
-ov Create an archive
-idv Extract file from archive
-it List the file in archive
-F Create/Extract tar archive file
\\To create an archive.
cpio -ov >login.cpio
\\To extract the files from the archive.
cpio -idv </home/backup/login.cpio
\\To create tar archive files using "cpio" use the command option "-F"
ls |cpio -ov -H tar -F all_login.tar
\\To view the content of the tar archive files using "cpio" command
cpio -it -F all_login.tar
\\To extract the files from tar archive
cpio -idv -F ./../all_login.tar

Best Linux Books

1. Learn Linux Quickly

Author :- Ahmed AlKabary
Edition :- 21 August 2020
Published by :- Packt Publishing Limited

This book doesn't assume any prior Linux knowledge, which makes it perfect for beginners. Intermediate and advanced Linux users will also find this book very useful as it covers a wide range of topics necessary for Linux administration. Learn over 116 Linux commands to develop the skills you need to become a professional Linux system administrator.

2.Linux: The Complete Reference

Author :- Richard Petersen
Edition :- 6th Edition
Published by :- McGraw Hill Education

Linux: The Complete Reference, Sixth Edition includes details on the very different and popular Debian (Ubuntu) and Red Hat/Fedora software installation and service management tools used by most distributions. This is a must-have guide for all Linux users.
This book explains how to get up-and-running on Linux, use the desktops and shells, manage applications, deploy servers, implement security measures, and handle system and network administration tasks.

Best Web Development Courses And Tutorials

1. Linux Command Line Basics(Udemy)

2. Linux Shell Scripting: A Project-Based Approach to Learning(Udemy)

3. Kali Linux Tutorial For Beginners(Udemy)

Also Check