使用cron任务将Google Sheets文件以CSV格式下载到cPanel的问题
Google Sheets 覆盖下载命令修复方案
你原有命令存在两个核心错误:
- 误用PHP作为下载工具:PHP默认不支持直接通过命令行参数下载远程URL文件,且你的参数逻辑混乱,重复写入PHP执行路径到输出参数位置,完全不符合下载工具的调用规则
- 使用了错误的Google Sheets链接:你填写的是表格预览页地址,不是可直接导出CSV的接口地址,无法直接获取文件内容
可用解决方案
优先使用系统自带的wget或curl工具实现下载自动覆盖需求,两种工具的操作命令如下:
- 使用wget(默认自动覆盖旧文件)
wget -O /home/username/public_html/wp-content/uploads/wpallimport/files.csv "https://docs.google.com/spreadsheets/d/11rFK_fQPgIcMdOTj6KNLrl7pNrwAnYhjp3nIrctPosg/export?format=csv"
参数说明:-O 为大写字母O,作用是指定输出文件的完整路径,同名文件会被直接覆盖,满足仅保留最新一份文件的要求
- 使用curl(需加跟随重定向参数)
curl -L "https://docs.google.com/spreadsheets/d/11rFK_fQPgIcMdOTj6KNLrl7pNrwAnYhjp3nIrctPosg/export?format=csv" -o /home/username/public_html/wp-content/uploads/wpallimport/files.csv
参数说明:-L 作用是跟随Google服务的重定向跳转,-o 为小写字母o,作用是指定输出文件路径,自动覆盖已有旧文件
前置要求
- 你需要先将对应Google Sheets的共享权限设置为「任何知道链接的人都可以查看」,否则下载请求会被权限拦截
- 如果表格为内部私有表格,需额外配置Google Workspace服务账号授权,在下载请求中携带授权token才可正常获取文件
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

