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. 恢复数据库
解压数据库备份文件:
bash
复制代码
gunzip 20240709_140032-site1_local-database.sql.gz登录到 MariaDB:
bash
复制代码
bench --site site1.local mariadb删除并创建新的数据库:
sql复制代码DROP DATABASE `site1_local`;
CREATE DATABASE `site1_local`;
EXIT;导入数据库:
bash
复制代码
mysql -u root -p site1_local < 20240709_140032-site1_local-database.sql
3. 恢复文件
解压公共文件:
bash
复制代码
tar -xvf 20240709_140032-site1_local-files.tar -C ~/frappe-bench/sites/site1.local/public/files解压私有文件:
bash
复制代码
tar -xvf 20240709_140032-site1_local-private-files.tar -C ~/frappe-bench/sites/site1.local/private/files
4. 恢复站点配置
替换现有配置文件:
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 的所有备份数据。如果有任何问题或需要进一步帮助,请随时告知。