You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

spatie/laravel-backup在Windows环境下文件备份失效,仅生成数据库备份

问题排查与解决思路

从实际场景里最常见的几个方向逐一排查:

1. 核对压缩命令的路径准确性

大概率是你指定的public文件夹路径有误,导致压缩工具找不到目标目录,只会打包能识别到的数据库备份文件。
比如用tar命令时,要确保路径是相对于当前执行目录的正确路径,或者直接用绝对路径避免歧义:

  • 错误示例:tar -czf backup.tar.gz db.sql public(如果执行命令的目录下不存在public文件夹,会被工具静默忽略)
  • 正确示例:tar -czf backup.tar.gz db.sql /home/your-project/public(用绝对路径确保工具能定位到目标)
    或者先切换到项目根目录再执行命令:
cd /home/your-project
tar -czf backup.tar.gz db.sql public

2. 确认压缩命令的参数顺序

部分压缩工具对参数顺序有严格要求,比如tar的-f参数必须紧跟归档文件名,否则后续的路径会被错误解析。
错误示例:tar -cz backup.tar.gz db.sql public(缺少-f参数会导致行为异常)
正确示例:tar -czf backup.tar.gz db.sql public

3. 检查public文件夹的权限与可读性

即便压缩过程没抛出错误,若执行命令的用户没有public文件夹的读取权限,部分压缩工具会直接跳过该目录。
执行命令查看权限:

ls -ld /path/to/your/public

确保执行用户对该目录拥有r(读)权限,权限不足时可调整:

sudo chmod +r /path/to/your/public

4. 验证public文件夹的内容状态

虽然可能性较低,但可以先确认public文件夹内确实存在文件:

ls -l /path/to/your/public

如果是空文件夹,部分压缩工具默认不会在归档中创建空目录(可添加参数强制生成,比如tar的--create-empty-dirs)

5. 单独测试public文件夹压缩

先单独执行压缩public的命令,验证是否能生成包含内容的归档:

tar -czf public-test.tar.gz /path/to/your/public

解压后确认内容正常,再将数据库文件与它合并到同一条压缩命令中。

内容的提问来源于stack exchange,提问作者kali dasan B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 04:25:23