Bird
Raised Fist0
Linux CLIscripting~20 mins

Backup strategies in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Backup Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this incremental backup command?
Consider the following command that creates an incremental backup using rsync. What will be the output message shown after running it?
Linux CLI
rsync -av --link-dest=/backup/full /home/user/ /backup/incremental
A
sending incremental file list
error: link-dest directory not found
B
sending incremental file list
backup completed successfully
C
sending incremental file list
created directory /backup/incremental
file1
file2
Drsync: command not found
Attempts:
2 left
💡 Hint
Think about what --link-dest does and what rsync outputs when it runs successfully.
🧠 Conceptual
intermediate
1:30remaining
Which backup strategy minimizes storage by saving only changed data?
Among these backup strategies, which one saves storage space by only storing changes since the last backup?
AIncremental backup
BDifferential backup
CFull backup
DMirror backup
Attempts:
2 left
💡 Hint
Think about which backup type saves only the changes since the last backup, not the entire data.
🔧 Debug
advanced
2:30remaining
Why does this backup script fail to create a compressed archive?
This script is intended to create a compressed tar archive of /var/log but fails with an error. What is the cause?
#!/bin/bash
backup_dir=/backup
filename=logs_backup.tar.gz
tar -czvf $backup_dir/$filename /var/log
AThe variable filename is not quoted, causing word splitting.
BThe tar command is missing the -f option to specify the filename.
CThe script lacks execute permission, so it cannot run.
DThe backup directory /backup does not exist, so tar cannot write the archive.
Attempts:
2 left
💡 Hint
Check if the directory where the archive is saved exists.
🚀 Application
advanced
2:00remaining
Which command creates a daily rotating backup with 7 days retention using rsnapshot?
You want to configure rsnapshot to keep daily backups and automatically rotate them, keeping backups for 7 days. Which command below correctly triggers this behavior?
Arsnapshot -c /etc/rsnapshot.conf daily
Brsnapshot -t daily
Crsnapshot -r 7 daily
Drsnapshot daily
Attempts:
2 left
💡 Hint
The configuration file controls retention and intervals; the command triggers the snapshot.
📝 Syntax
expert
3:00remaining
What error does this backup script produce and why?
Analyze this bash script snippet intended to copy files and create a log. What error will it produce?
#!/bin/bash
backup_src="/home/user/data"
backup_dest="/mnt/backup"
cp -r $backup_src $backup_dest > backup.log 2>&1 &
wait $!
echo "Backup completed" >> backup.log
ANo error; the script runs and logs output correctly.
Bwait: no child processes; because the background job finished before wait.
Ccp: missing destination file operand after /mnt/backup; due to missing trailing slash.
DSyntax error: unexpected token near '&'
Attempts:
2 left
💡 Hint
Consider how the shell handles background jobs and the wait command.

Practice

(1/5)
1. Which of the following best describes the main purpose of a backup in Linux?
easy
A. To delete old files to free up space
B. To install new software updates automatically
C. To speed up the computer by cleaning temporary files
D. To save copies of important files in a safe place

Solution

  1. Step 1: Understand what a backup is

    A backup is a copy of important data saved separately to protect against loss.
  2. Step 2: Match the description to the options

    Only To save copies of important files in a safe place describes saving copies in a safe place, which is the purpose of backups.
  3. Final Answer:

    To save copies of important files in a safe place -> Option D
  4. Quick Check:

    Backup = Save copies safely [OK]
Hint: Backups always mean saving copies, not deleting files [OK]
Common Mistakes:
  • Confusing backup with deleting files
  • Thinking backup speeds up the system
  • Mixing backup with software updates
2. Which command syntax correctly copies a directory and its contents to a backup folder?
easy
A. cp -r /home/user/docs /backup/docs
B. cp /home/user/docs /backup/docs
C. cp -d /home/user/docs /backup/docs
D. cp -x /home/user/docs /backup/docs

Solution

  1. Step 1: Identify the correct option to copy directories recursively

    The -r option in cp copies directories and their contents recursively.
  2. Step 2: Check other options for correctness

    The plain cp lacks -r, so it won't copy directories properly. The options with -d and -x use invalid or unrelated flags.
  3. Final Answer:

    cp -r /home/user/docs /backup/docs -> Option A
  4. Quick Check:

    Copy directory = cp -r [OK]
Hint: Use cp -r to copy folders with all files inside [OK]
Common Mistakes:
  • Forgetting the -r flag for directories
  • Using wrong flags like -d or -x
  • Assuming cp copies folders without options
3. What will be the output of this command if the source directory has files and the destination is empty?
rsync -av /home/user/data/ /backup/data/
medium
A. Only lists files without copying them
B. Copies all files and folders from /home/user/data to /backup/data preserving attributes
C. Deletes all files in /backup/data and leaves it empty
D. Shows an error because /backup/data does not exist

Solution

  1. Step 1: Understand rsync options -a and -v

    The -a option means archive mode (copy recursively and preserve attributes), and -v means verbose (show progress).
  2. Step 2: Analyze command behavior

    Since /backup/data exists and is empty, rsync copies all files and folders from source to destination preserving attributes.
  3. Final Answer:

    Copies all files and folders from /home/user/data to /backup/data preserving attributes -> Option B
  4. Quick Check:

    rsync -av copies files with details [OK]
Hint: rsync -av copies and shows details, no deletion by default [OK]
Common Mistakes:
  • Thinking rsync deletes files by default
  • Confusing verbose with dry-run
  • Assuming error if destination exists
4. You wrote this script to backup a folder:
#!/bin/bash
cp -r /home/user/docs /backup/docs
rm -r /home/user/docs/*

What is the main problem with this backup strategy?
medium
A. It deletes original files after copying, risking data loss
B. It does not copy hidden files
C. It uses the wrong command to copy files
D. It will fail because /backup/docs does not exist

Solution

  1. Step 1: Analyze the script commands

    The script copies /home/user/docs to /backup/docs, then deletes all files inside /home/user/docs.
  2. Step 2: Identify risk in deleting original files

    Deleting original files after copying is risky if the copy failed or is incomplete, causing data loss.
  3. Final Answer:

    It deletes original files after copying, risking data loss -> Option A
  4. Quick Check:

    Deleting originals after backup = risk [OK]
Hint: Never delete originals immediately after backup without verification [OK]
Common Mistakes:
  • Assuming cp misses hidden files (it copies them)
  • Thinking /backup/docs must exist (cp creates it)
  • Ignoring risk of deleting original data
5. You want to automate daily backups of /home/user/projects to /mnt/backup using tar. Which command correctly creates a compressed backup file with the current date in its name?
hard
A. tar -czf /home/user/projects /mnt/backup/projects-$(date +%F).tar.gz
B. tar -cf /mnt/backup/projects.tar.gz /home/user/projects
C. tar -czf /mnt/backup/projects-$(date +%F).tar.gz /home/user/projects
D. tar -xzf /mnt/backup/projects-$(date +%F).tar.gz /home/user/projects

Solution

  1. Step 1: Understand tar options for creating compressed archives

    -c creates an archive, -z compresses with gzip, and -f specifies the output file.
  2. Step 2: Check command correctness

    tar -czf /mnt/backup/projects-$(date +%F).tar.gz /home/user/projects correctly creates a gzip compressed archive named with the current date in /mnt/backup from /home/user/projects.
  3. Final Answer:

    tar -czf /mnt/backup/projects-$(date +%F).tar.gz /home/user/projects -> Option C
  4. Quick Check:

    tar -czf + date = compressed dated backup [OK]
Hint: Use tar -czf with $(date +%F) for dated compressed backups [OK]
Common Mistakes:
  • Using -xzf which extracts instead of creates
  • Swapping source and destination paths
  • Omitting compression flag -z
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard