我的两个系统都显示对该文件的完全相同的权限。
-rw-r--r--
我有一个在 R 中运行的脚本,它使用基本的 R 函数
download.file('http://www.sample-videos.com/csv/Sample-Spreadsheet-100-rows.csv', '/home/rstudio/xyz9', mode = "a", quiet = FALSE)
mode="a"
表示追加模式。
我通过 Rstudio(R 的 IDE)在本地系统上运行脚本。它将文件附加到我的本地系统 ubuntu 系统上。
我仅通过 RStudio 在 CentOS 服务器上运行此脚本,它不会将数据附加到文件,而是完全覆盖该文件。
这是系统级别还是脚本级别的问题?权限对我来说看起来很好。
当我在服务器上运行它时,我在控制台上看到以下内容:
--2016-07-13 19:28:23-- http://www.sample-videos.com/csv/Sample-Spreadsheet-100-rows.csv
Resolving www.sample-videos.com... 52.74.31.185
Connecting to www.sample-videos.com|52.74.31.185|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/csv]
Saving to: “/home/rstudio/xyz9”
0K .......... 267M=0s
2016-07-13 19:28:24 (267 MB/s) - “/home/rstudio/xyz9” saved [10998]
当我在 ubuntu 上运行它时,我得到:
trying URL 'http://www.sample-videos.com/csv/Sample-Spreadsheet-100-rows.csv'
downloaded 10 KB
这里可能出了什么问题?我确实希望追加模式能够在 centos 机器上工作。由于我运行完全相同的脚本,我相信这与文件权限有关?
编辑:正如我所见,centos 机器上的修改日期有点混乱。它是一个服务器并远程托管。当文件更新时,我看到奇怪的时间戳。
7:43,显示修改日期为:
下午 5:56(同一日期)。
当我运行 download.file 函数时,
文件大小一会儿变成0 Kb。修改日期暂时更改为正确时间。更新后修改日期改为下午6点40分
centos系统时间已正确设置。
什么似乎在这里不起作用?
答案1
权限应该不会有问题。您可以写入和读取数据,仅此而已,但程序必须决定如何处理文件内的数据。对我来说,这看起来像是 R 问题,而不是系统问题。
无论如何,服务器和本地主机的输出是不同的。来自服务器的看起来与来自 的相同wget
。检查download.file.method
必须设置为internal
(根据文档) - 只有此方法支持追加到文件。