What is the main purpose of a backup automation script?
To automatically copy important files or folders to a safe location regularly, so data is protected against loss.
Click to reveal answer
beginner
In a bash backup script, what command is commonly used to copy files and directories?
The rsync command is commonly used because it efficiently copies and synchronizes files and directories.
Click to reveal answer
intermediate
Why is it important to check if the backup destination directory exists in a script?
To avoid errors during backup, the script should check if the destination folder exists and create it if it does not.
Click to reveal answer
intermediate
What does the following bash snippet do?
if [ ! -d "$backup_dir" ]; then mkdir -p "$backup_dir"; fi
It checks if the directory stored in $backup_dir does not exist, and if so, creates it including any needed parent directories.
Click to reveal answer
beginner
How can you schedule a backup automation script to run daily on a Linux system?
You can use cron to schedule the script. Adding a cron job with crontab -e lets you run the script at set times automatically.
Click to reveal answer
Which command is best for syncing files in a backup script?
Arsync
Bcat
Cecho
Dgrep
✗ Incorrect
rsync efficiently copies and syncs files, making it ideal for backups.
What does the -p option do in mkdir -p?
ACreates parent directories as needed
BPrints the directory path
CPrompts before creating
DProtects the directory
✗ Incorrect
-p creates parent directories if they don't exist, preventing errors.
Why should a backup script check if the destination folder exists?
ATo encrypt files
BTo delete old backups
CTo speed up the script
DTo avoid errors during file copying
✗ Incorrect
Checking prevents errors if the folder is missing, ensuring backup success.
Which tool schedules scripts to run automatically on Linux?
Atar
Bcron
Cssh
Dvim
✗ Incorrect
cron runs scripts at scheduled times automatically.
What is a safe place to store backup files?
ATemporary system folder
BSame folder as original files
CSeparate drive or external storage
DDesktop
✗ Incorrect
Storing backups on a separate drive protects data if the main drive fails.
Explain how a simple bash backup automation script works.
Think about the steps to safely copy files regularly.
You got /4 concepts.
Describe how to schedule a backup script to run every day at 2 AM using cron.
Focus on the cron time format and command.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of a backup automation script in bash?
easy
A. To delete old files from the system
B. To automatically copy important files to a safe location regularly
C. To speed up the computer by closing programs
D. To change file permissions for security
Solution
Step 1: Understand the goal of backup automation
A backup automation script is designed to save copies of important files automatically to prevent data loss.
Step 2: Identify the correct purpose among options
Only To automatically copy important files to a safe location regularly describes copying files regularly to a safe place, which matches backup automation.
Final Answer:
To automatically copy important files to a safe location regularly -> Option B
Quick Check:
Backup automation = automatic file copying [OK]
Hint: Backup scripts copy files automatically to protect data [OK]
Common Mistakes:
Confusing backup with deleting files
Thinking backup speeds up the system
Mixing backup with changing permissions
2. Which of the following bash commands correctly creates a backup directory with today's date?
easy
A. mkdir backup-$(date +%Y-%m-%d)
B. mkdir backup_date
C. mkdir backup $(date +%d-%m-%Y)
D. mkdir backup-`date +%Y/%m/%d`
Solution
Step 1: Understand date command format for folder naming
The format +%Y-%m-%d gives a date like 2024-06-15, which is safe for folder names.
Step 2: Check each mkdir command for correctness
mkdir backup-`date +%Y/%m/%d` uses backticks (valid) but produces slashes (/), invalid for folder names. mkdir backup_date uses a literal string without date. mkdir backup $(date +%d-%m-%Y) has a space causing two arguments to mkdir ('backup' and date string). mkdir backup-$(date +%Y-%m-%d) uses correct $( ) substitution and safe hyphen-separated format.
Final Answer:
mkdir backup-$(date +%Y-%m-%d) -> Option A
Quick Check:
Safe date format with mkdir = mkdir backup-$(date +%Y-%m-%d) [OK]
Hint: Use $(date +%Y-%m-%d) for safe folder names [OK]
Common Mistakes:
Using slashes in folder names
Not using command substitution syntax
Using underscores instead of date command
3. What will be the output of this script snippet?
Assuming today's date is 2024-06-15 and the documents folder exists.
medium
A. Throws an error because of missing quotes
B. Creates a folder named backup-$(date +%Y-%m-%d) and copies documents inside it
C. Creates a folder named backup-2024-06-15 and copies documents inside it
D. Copies documents to the current directory without creating a folder
Solution
Step 1: Evaluate variable assignment and command substitution
The variable backup_dir will be set to backup-2024-06-15 because $(date +%Y-%m-%d) runs and inserts the date.
Step 2: Understand mkdir and cp commands with quotes
mkdir -p creates the directory if it doesn't exist. cp -r copies the documents folder recursively into the backup directory. Quotes ensure spaces are handled safely.
Final Answer:
Creates a folder named backup-2024-06-15 and copies documents inside it -> Option C
Quick Check:
Command substitution + mkdir + cp = Creates a folder named backup-2024-06-15 and copies documents inside it [OK]
Hint: Quotes and $(date) create dated backup folders safely [OK]
Common Mistakes:
Not using quotes causing errors with spaces
Misunderstanding command substitution syntax
Assuming cp copies files without -r for folders
4. Identify the error in this backup script snippet:
A. Missing quotes around $backup_dir may cause errors if folder name has spaces
B. mkdir command should be mkdir -r instead of mkdir
C. cp command should not use -r for copying directories
D. Date format in variable assignment is incorrect
Solution
Step 1: Check mkdir command usage
mkdir without -p is okay if folder doesn't exist, but missing quotes around $backup_dir can cause issues if the folder name contains spaces.
Step 2: Check cp command and date format
cp -r is correct for copying directories. Date format is valid. The main issue is missing quotes around variable usage.
Final Answer:
Missing quotes around $backup_dir may cause errors if folder name has spaces -> Option A
Quick Check:
Always quote variables with spaces in paths [OK]
Hint: Always quote variables when used as paths [OK]
Common Mistakes:
Using mkdir -r which is invalid
Not using -r with cp for directories
Incorrect date format syntax
5. You want to automate backups of the /var/log directory daily, keeping backups for 7 days only. Which script snippet correctly creates a dated backup folder and deletes backups older than 7 days?
Snippets using backup_dir="backup-$(date +%Y-%m-%d)" (double quotes), mkdir -p "$backup_dir", cp -r /var/log "$backup_dir" correctly create dated folder and copy recursively. The other lacks quotes, -p, -r so may fail.
Step 2: Remove backups older than 7 days safely
rm -rf backup-* and find . -name 'backup-*' -delete delete all backups without age check. Only find . -maxdepth 1 -name 'backup-*' -mtime +7 -exec rm -rf {} + limits to top-level, selects >7 days old, deletes safely.