Home  >  Article  >  Operation and Maintenance  >  Backup and recovery techniques and methods for building web servers on CentOS

Backup and recovery techniques and methods for building web servers on CentOS

WBOY
WBOYOriginal
2023-08-04 16:37:141857browse

Backup and recovery techniques and methods for building a web server on CentOS

In the process of building a web server, backup and recovery are very important links. Whether it is for security reasons or to avoid unexpected data loss, backup is an essential step. This article will introduce the backup and recovery techniques and methods when building a web server on CentOS, and provide relevant code examples.

1. Back up website files and database

  1. Back up website files

Website files are generally stored in the /var/www/html directory, we can Use the tar command to package the directory into a compressed package and back it up. The specific steps are as follows:

tar -czvf website_backup.tar.gz /var/www/html

The above command will package all files and folders in the /var/www/html directory into a compressed package named website_backup.tar.gz.

  1. Backup database

If the website uses a database to store data, we also need to back up the database. MySQL is a commonly used database management system. We can use the mysqldump command for backup. The specific operation steps are as follows:

mysqldump -u <用户名> -p<密码> <数据库名> > database_backup.sql

The above command will export all data of the specified database to a file named database_backup.sql.

2. Restore website files and database

  1. Restore website files

To restore website files, we only need to extract the previously backed up files to the corresponding Directory is enough. The specific steps are as follows:

tar -xzvf website_backup.tar.gz -C /var/www/html

The above command will decompress the backup file website_backup.tar.gz to the /var/www/html directory.

  1. Restore the database

To restore the database, we need to use the mysql command to import the backup file into the database. The specific operation steps are as follows:

mysql -u <用户名> -p<密码> <数据库名> < database_backup.sql

The above command will import the backup file database_backup.sql into the specified database.

3. Scheduled automatic backup

In addition to manual backup and recovery, we can also use cron scheduled tasks to achieve automatic backup. The specific steps are as follows:

  1. Create a backup script

Create a backup script named backup.sh with the following content:

#!/bin/bash

timestamp=$(date +%Y%m%d%H%M%S)
backup_dir="/path/to/backup/$timestamp"
website_dir="/var/www/html"
database_backup_file="/path/to/backup/database_$timestamp.sql"
database_name="<数据库名>"
database_user="<用户名>"
database_password="<密码>"

mkdir -p $backup_dir

tar -czvf $backup_dir/website_backup.tar.gz $website_dir

mysqldump -u $database_user -p$database_password $database_name > $database_backup_file

The above script Each time a backup is performed, a folder named with the current timestamp will be created, website files will be backed up to this folder, and the database will be backed up to the specified file.

  1. Set a scheduled task

Execute the commandcrontab -eOpen the scheduled task editor and add the following content:

0 0 * * * /path/to/backup.sh

The above The content indicates that the backup script is executed at midnight (00:00) every day.

Through the above steps, we can automatically back up website files and databases every day.

Summary:

In the process of building a web server, backup and recovery are very important. This article introduces the backup and recovery techniques and methods when building a web server on CentOS, and gives corresponding code examples. By regularly backing up website files and databases, and working with automated backup scripts, website data can be well protected and the risk of data loss can be avoided.

The above is the detailed content of Backup and recovery techniques and methods for building web servers on CentOS. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn