Home >Operation and Maintenance >Linux Operation and Maintenance >How to perform remote backup and recovery of Linux systems
How to perform remote backup and recovery of Linux systems
With the popularity of Linux systems and the expansion of their application scope, the demand for data backup and recovery is also increasing. important. In most cases, we want to be able to back up important data to a remote server to prevent data loss caused by local hardware failure or other unexpected situations. This article will introduce how to perform remote backup and recovery on a Linux system through the SSH (Secure Shell) protocol, and provide relevant code examples.
Step 1: Create an SSH key pair
Before remote backup and recovery, you first need to generate an SSH key pair on the local machine to establish a secure communication connection with the remote server. You can use the following command to generate an SSH key pair:
$ ssh-keygen -t rsa -b 4096
According to the prompts, you can choose the location to save the key and give the key a name. By default, the key will be saved in the .ssh directory of the user's home directory.
Step 2: Add the public key to the remote server
After generating the SSH key pair, you need to add the public key to the remote server to allow the local machine to connect through the SSH protocol. You can use the following command to copy the public key to the remote server:
$ ssh-copy-id user@remote_server
where user and remote_server are the username and address of the remote server respectively. After executing this command, you will be asked to enter the password of the remote server for verification.
Step 3: Write a backup script
The backup script can be implemented using the rsync command. rsync is a powerful file synchronization tool that can perform file backup and recovery between local machines and remote servers. Here is an example backup script:
SRC_DIR="/path/to/source/directory"
DEST_DIR="/path/to/destination/ directory"
REMOTE_SERVER="user@remote_server"
rsync -avz --delete $SRC_DIR $REMOTE_SERVER:$DEST_DIR
Among them, SRC_DIR is the local directory that needs to be backed up, and DEST_DIR is the remote directory The directory where backups are saved on the server. REMOTE_SERVER is the username and address of the remote server. The script uses the rsync command to synchronize the local directory to the remote server and save the backed-up directory structure on the remote server.
Step 4: Set up scheduled tasks
In order to perform automatic backup on a regular basis, you can add the backup script to the scheduled task. In Linux systems, you can use the crontab command to manage scheduled tasks. The following is an example of adding a scheduled task:
$ crontab -e
Add the following content to the opened configuration file:
0 0 * / path/to/backup-script.sh
Among them, /path/to/backup-script.sh is the path of the backup script. This example indicates that the backup script is run every day at 12 midnight.
Step 5: Restore the backup data
When you need to restore the backup data, you can use the rsync command to synchronize the backup data from the remote server to the local machine. The following is an example of restoring backup data:
DEST_DIR="/path/to/destination/directory"
SRC_DIR="/path/to/source /directory"
REMOTE_SERVER="user@remote_server"
rsync -avz --delete $REMOTE_SERVER:$DEST_DIR $SRC_DIR
This script synchronizes the backup data on the remote server to the local Table of contents.
Summary:
Remote backup and recovery of Linux systems through the SSH protocol can protect important data from local hardware failures and other unexpected situations. This article provides methods for generating SSH key pairs, adding public keys to remote servers, and gives examples of backup scripts and recovery scripts. In actual use, corresponding modifications and adjustments can be made according to actual needs and environments to meet the backup and recovery needs in different scenarios.
The above is the detailed content of How to perform remote backup and recovery of Linux systems. For more information, please follow other related articles on the PHP Chinese website!