跳到主要内容

S3备份存储如何做?

S3存储备份

如何恢复的步骤:

恢复 ERPNext 备份时,需要处理四种文件:数据库备份、文件备份(包括公共和私有文件)、以及站点配置文件。以下是详细步骤:

下载备份文件

从 S3 下载以下文件:

  • 20240709_140032-site1_local-database.sql.gz
  • 20240709_140032-site1_local-files.tar
  • 20240709_140032-site1_local-private-files.tar
  • 20240709_140032-site1_local-site_config_backup.json

恢复步骤

1. 停止 ERPNext 服务

bash
复制代码
sudo supervisorctl stop all

2. 恢复数据库

  1. 解压数据库备份文件:

    bash
    复制代码
    gunzip 20240709_140032-site1_local-database.sql.gz
  2. 登录到 MariaDB:

    bash
    复制代码
    bench --site site1.local mariadb
  3. 删除并创建新的数据库:

    sql复制代码DROP DATABASE `site1_local`;
    CREATE DATABASE `site1_local`;
    EXIT;
  4. 导入数据库:

    bash
    复制代码
    mysql -u root -p site1_local < 20240709_140032-site1_local-database.sql

3. 恢复文件

  1. 解压公共文件:

    bash
    复制代码
    tar -xvf 20240709_140032-site1_local-files.tar -C ~/frappe-bench/sites/site1.local/public/files
  2. 解压私有文件:

    bash
    复制代码
    tar -xvf 20240709_140032-site1_local-private-files.tar -C ~/frappe-bench/sites/site1.local/private/files

4. 恢复站点配置

  1. 替换现有配置文件:

    bash
    复制代码
    cp 20240709_140032-site1_local-site_config_backup.json ~/frappe-bench/sites/site1.local/site_config.json

5. 重建数据库索引和应用迁移

bash
复制代码
bench --site site1.local migrate

6. 启动 ERPNext 服务

bash
复制代码
sudo supervisorctl start all

总结

以下是完整的恢复命令示例:

bash复制代码# 停止服务
sudo supervisorctl stop all

# 解压数据库文件
gunzip 20240709_140032-site1_local-database.sql.gz

# 删除并创建新数据库
bench --site site1.local mariadb
DROP DATABASE `site1_local`;
CREATE DATABASE `site1_local`;
EXIT;

# 导入数据库
mysql -u root -p site1_local < 20240709_140032-site1_local-database.sql

# 解压公共文件
tar -xvf 20240709_140032-site1_local-files.tar -C ~/frappe-bench/sites/site1.local/public/files

# 解压私有文件
tar -xvf 20240709_140032-site1_local-private-files.tar -C ~/frappe-bench/sites/site1.local/private/files

# 替换站点配置文件
cp 20240709_140032-site1_local-site_config_backup.json ~/frappe-bench/sites/site1.local/site_config.json

# 重建数据库索引和应用迁移
bench --site site1.local migrate

# 启动服务
sudo supervisorctl start all

通过以上步骤,你应该可以成功恢复 ERPNext 的所有备份数据。如果有任何问题或需要进一步帮助,请随时告知。