debian

Debian如何备份LNMP数据

小樊
40
2025-03-14 20:15:59
栏目: 智能运维

在Debian系统上备份LNMP(Linux, Nginx, MySQL/MariaDB, PHP)数据主要包括备份Nginx配置、MySQL/MariaDB数据库以及PHP应用数据。以下是一个基本的备份步骤指南:

备份Nginx配置

  1. 停止Nginx服务
sudo systemctl stop nginx
  1. 备份Nginx配置文件
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
sudo cp /etc/nginx/conf.d/* /etc/nginx/conf.d/backup/
  1. 重启Nginx服务
sudo systemctl start nginx

备份MySQL/MariaDB数据库

  1. 登录到MySQL/MariaDB
sudo mysql -u root -p
  1. 选择要备份的数据库
USE 数据库名;
  1. 备份数据库
mysqldump -u 用户名 -p 密码 数据库名 > /root/backup/mysqlbackup/数据库名_备份时间.sql
  1. 退出MySQL/MariaDB
exit;

备份PHP应用数据

对于PHP应用数据,通常需要根据具体应用的数据存储方式进行备份。例如,如果使用的是WordPress,可以备份wp-content目录下的文件。

  1. 备份WordPress数据
sudo cp -r /var/www/html/wp-content /root/backup/wordpress_backup/

定时备份脚本

可以使用cron来设置定时备份任务。以下是一个简单的备份脚本示例:

  1. 创建备份脚本
sudo nano /root/backup_lnmp.sh
  1. 添加以下内容到脚本中
#!/bin/bash

# 备份Nginx配置
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
sudo cp /etc/nginx/conf.d/* /etc/nginx/conf.d/backup/

# 备份MySQL/MariaDB数据库
mysqldump -u root -p 密码 数据库名 > /root/backup/mysqlbackup/数据库名_$(date +%Y%m%d%H%M).sql

# 备份PHP应用数据(以WordPress为例)
sudo cp -r /var/www/html/wp-content /root/backup/wordpress_backup/

# 压缩备份文件
tar -czvf /root/backup/backup_$(date +%Y%m%d%H%M).tar.gz /root/backup/

# 删除超过5分钟的备份文件
find /root/backup/mysqlbackup -name "*.sql" -mmin +5 -exec rm -rf {} \;
find /root/backup/ -type f -name "backup_*.tar.gz" -mmin +5 -exec rm -rf {} \;
  1. 赋予脚本执行权限
sudo chmod +x /root/backup_lnmp.sh
  1. 设置定时任务
sudo crontab -e

添加以下行以每分钟运行一次备份脚本(根据需要调整时间间隔):

* * * * * /root/backup_lnmp.sh

以上步骤涵盖了在Debian系统上备份LNMP环境的基本流程。请根据实际需求调整脚本和定时任务。

0
看了该问题的人还看了