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
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.
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
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.
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:
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.
Execute the commandcrontab -e
Open 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!