PHPまたはシンボリックリンクを使用してファイルを別のパーティションに保存しますか?

PHPまたはシンボリックリンクを使用してファイルを別のパーティションに保存しますか?

私たちは多数のAPIログファイル(何百万もの)を格納するcPanelサーバー上で実行されているPHPベースのアプリケーションを持っており、APIログテキストファイルを別のパーティション(サーバーにAmazon EFSをインストールする)に書き込むPHPスクリプトが必要です。これらのテキストファイルを簡単に移動できます。 df-hの出力は次のようになります。

tmpfs           7.3G     0  7.3G   0% /dev/shm
tmpfs           7.3G  115M  7.2G   2% /run
tmpfs           7.3G     0  7.3G   0% /sys/fs/cgroup
/dev/xvda1      1.5T  623G  828G  43% /
/dev/loop0      3.9G  8.3M  3.7G   1% /tmp
127.0.0.1:/     8.0E  609G  8.0E   1% /smartefs01
tmpfs           1.5G     0  1.5G   0% /run/user/0
tmpfs           1.5G     0  1.5G   0% /run/user/1005

ファイルを保存するドライブは/smartefs01にあり、実際のP​​HPアプリケーションは/home/user/public_htmlにあります。私たちは、PHPアプリケーションに/ home / user_public_htmlの代わりに/ smartefs01にファイルを保存させる最も簡単な方法を見つけようとしています。サーバーなどを変更する場合は、ドライブを取り外してドライブとその中のすべてのファイルを移動できるようにしたいからです。

何を考えているのか教えてください!

ありがとう、

ヨーロッパ共同体

答え1

すでに存在しないファイルはシンボリックリンクできないため、アプリケーションが何百万ものファイルを生成する場合、これはオプションではありません。

アプリケーションが特定のディレクトリにログインしている場合は、インストールディレクトリをシンボリックリンクまたはバインドできます。誰もが危険ではないPHPサーバーソフトウェアは、サーバーのどこかにログを書き込むべきではないと言うでしょうpublic_http。これは、情報を一般に公開する危険性があるだけでなく、基本的にすべてのファイルシステムベースの抑制試行(SELinux)を作成するためです。失敗しました。攻撃者はログファイルに<?php…タグなどのコンテンツを含めてから、PHPにログファイルを解析するコンテンツにロードさせます。

だからまとめると、あなたのアプリケーションログを他の場所に記録するには、構成または変更するログである必要があります。それがすべてです。最も論理的で安全なものです。そしてこれを解決する最も簡単な方法です。

関連情報