282 words
1 minutes
Backup and Restore
2025-04-03

The article explains the importance and different methods of backing up and restoring data on Ubuntu systems, with a focus on three tools: Rsync, Duplicity, and Deja Dup.

Key Takeaways:

Rsync:

  • Rsync is a powerful, fast, and secure tool used for local or remote data backup.
  • It only transfers changed portions of files, making it efficient for large data sets and incremental backups.

Example command:

rsync -av /path/to/mydirectory user@backup_server:/path/to/backup/directory
  • -a preserves file attributes like timestamps and permissions.

  • -v provides detailed output.

  • Encryption with SSH: Rsync can secure data transfers by using SSH for encryption.

rsync -avz -e ssh /path/to/mydirectory user@backup_server:/path/to/backup/directory

Duplicity:

  • Builds on Rsync, but adds encryption capabilities for sensitive data.
  • It supports encrypted backups, making it useful for storing data in remote locations like FTP servers or cloud services (Amazon S3).
Deja Dup:

A user-friendly graphical tool for backups, which also utilizes Rsync in the background. It allows simple scheduling and encrypted backups for users who prefer not to use the command line.

Encryption:

Encryption tools such as GnuPG, eCryptfs, or LUKS can be used to add extra layers of protection to your backups.

Automation with Rsync:

You can automate the backup process using a cron job. For example, to automate the backup with Rsync:

  • First, generate SSH keys:

```jsx
ssh-keygen -t rsa -b 2048

Then, copy the public key to the remote server:

ssh-copy-id user@backup_server

Create a backup script (RSYNC_Backup.sh) and make it executable:

chmod +x RSYNC_Backup.sh

Finally, schedule the script with cron to run at regular intervals:

crontab -e

Example cron job:

**0 * * * * /path/to/RSYNC_Backup.sh**

This ensures the backup is automatically synced every hour.

Testing Backup with Pwnbox:

  • You can use Pwnbox (a testing environment) for backup simulations, where you set up local directories (to_backup and synced_backup) and use rsync for file synchronization. For auto-synchronization, you can use a cron job that runs every minute.
Backup and Restore
https://fuwari.vercel.app/posts/backup-and-restore/
Author
Ranjung Yeshi Norbu
Published at
2025-04-03