Backup Security: Protect Your Linux Server from Data Loss
Data backup is crucial when running a Linux server. Data loss can be caused by hardware failure, malware, or human error, which can lead to catastrophic consequences. To protect your server data, you need to set up a reliable backup system. This article will introduce some common backup methods and how to configure backup on a Linux server.
Regular full backup is one of the most basic and important backup strategies. This backup method copies all data on the server to the backup device. Typically, backups can be stored on local disks, network storage devices (such as NAS), or cloud storage.
The following is a sample code for regular full backup using the rsync tool:
# 创建一个脚本文件backup.sh nano backup.sh # 编写备份脚本代码 #!/bin/bash rsync -avz --delete /var/www/ /backup/www/ # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter # 设定备份脚本的执行权限 chmod +x backup.sh # 创建一个cron任务,定期执行备份脚本 crontab -e # 在cron任务配置文件中添加一行 0 0 * * * /path/to/backup.sh # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter
The backup script in the above code copies all files in the /var/www/ directory to /backup/ www/ directory, and use rsync's incremental backup function to copy only those files that have been changed or added.
Full backup may take up a lot of storage space, and each backup needs to copy all the data, which may take a lot of time . To reduce backup time and storage space, incremental backups can be used. Incremental backup only backs up data that has changed since the last backup.
The following is a sample code for using the rsync tool to implement incremental backup:
# 创建一个脚本文件incremental_backup.sh nano incremental_backup.sh # 编写备份脚本代码 #!/bin/bash rsync -avz --delete --link-dest=/backup/www/2021-04-01/ /var/www/ /backup/www/$(date +"%Y-%m-%d")/ # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter # 设定备份脚本的执行权限 chmod +x incremental_backup.sh # 创建一个cron任务,定期执行备份脚本 crontab -e # 在cron任务配置文件中添加一行 0 0 * * * /path/to/incremental_backup.sh # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter
The backup script in the above code will use the --link-dest parameter to specify the backup directory of the previous day as the base directory. Only copies files that have changed since the last backup and creates a new backup directory named after the current date.
If you have a database running on the server (such as MySQL or PostgreSQL), database backup is also crucial. Here are two common methods for backing up your database.
Use mysqldump to back up the MySQL database:
# 创建一个脚本文件mysql_backup.sh nano mysql_backup.sh # 编写备份脚本代码 #!/bin/bash mysqldump -u username -p database_name > /backup/mysql/$(date +"%Y-%m-%d").sql # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter # 设定备份脚本的执行权限 chmod +x mysql_backup.sh # 创建一个cron任务,定期执行备份脚本 crontab -e # 在cron任务配置文件中添加一行 0 0 * * * /path/to/mysql_backup.sh # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter
Use pg_dump to back up the PostgreSQL database:
# 创建一个脚本文件postgres_backup.sh nano postgres_backup.sh # 编写备份脚本代码 #!/bin/bash pg_dump -U postgres -F t database_name > /backup/postgres/$(date +"%Y-%m-%d").tar # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter # 设定备份脚本的执行权限 chmod +x postgres_backup.sh # 创建一个cron任务,定期执行备份脚本 crontab -e # 在cron任务配置文件中添加一行 0 0 * * * /path/to/postgres_backup.sh # 保存并退出编辑器 Ctrl + X,然后按Y,最后按Enter
By backing up server data regularly and taking appropriate security measures, you can avoid errors due to hardware failure. , data loss caused by malware or human error. Using the above sample code, configuring a reliable backup system on the Linux server can provide the greatest protection for your data.
The above is the detailed content of Backup Security: Protect your Linux server from data loss. For more information, please follow other related articles on the PHP Chinese website!