どちらのシステムも、ファイルに対してまったく同じ権限を表示します。
-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 機能を実行すると、
しばらくするとファイルサイズは0Kbになります。修正日が一時的に正確な時刻に変更されました。更新日が午後6時40分に変更されました。
Centos システム時間が正しく設定されました。
ここではうまくいかないと思いますか?
答え1
権限には問題がないはずです。データを書き込んで読み取ることはできますが、それはすべてです。しかし、ファイル内のデータで何をするかを決定する必要があるのはプログラムです。私にとって、これはシステムの問題ではなくRの問題のようです。
とにかく、サーバーとローカルホストの出力が異なります。サーバーからのものはから来るのと同じように見えますwget
。確認は(基準として)download.file.method
に設定する必要があります。internal
文書) - この方法だけがファイルへの追加をサポートします。