Linuxルートサーバーの2番目のハードドライブにファイルをアップロードする方法

Linuxルートサーバーの2番目のハードドライブにファイルをアップロードする方法

非常に簡単な質問であることはわかりましたが、私は2つの4TB HDDを搭載した大規模なサーバーで作業を始めました。

cronで実行されるPHPスクリプトがあります。スクリプトはFTPサーバーからファイルをダウンロードし、そのファイルを自分のサーバーの特定のフォルダーに保存するシェルコマンド(aria2c)を呼び出します。これは数ヶ月間うまくいきました。ユーザーがサーバー上のファイルをダウンロードできる必要があります。

しかし、今では、より多くのファイルスペースを確保するために2番目のハードドライブをインストールしました。ご覧のとおり、マウントに成功しました。

2日前にHDD1のクォータがいっぱいで、スクリプトにエラーが発生しました。これで、アップロードが自動的にhdd2に切り替えられると思います。しかし、これは間違っています!私の問題はここで発生します。HDD2にファイルをアップロードし、ユーザーがダウンロードできるようにする方法は?

私のaria2cアップロードコマンドは次のとおりです。

aria2c --ftp-user $username --ftp-passwd $password -c -p -t 100 -s 2 --max-connection-per-server 1 --max-download-limit $speedLimit --allow-overwrite=true --file-allocation none --summary-interval 0 ftp://$server/$remfile -o files/$remfile

答え1

あなたのコマンドが示すように、「files」というディレクトリにファイルをダウンロードしています。私はそれがあなたのメインハードドライブ「/」にあると仮定します。 「df」コマンドを実行して、2番目のHDDがマウントされている場所を確認し、出力パスを次のように変更します。

/media/HDD2/files/$remfile

答え2

エラーリストを調べた後、問題の解決策を見つけました。

  1. 2番目のハードドライブのパスは次のとおりです。 /mnt/ディスク1(ヒントをくれたNIZに感謝します)
  2. このディレクトリを次の場所に含めます。open_basedir内部にphp.ini良い:[その他のディレクトリ]:/mnt/disk1
  3. シェルを使用してログインし、次に進みます。ミエント目次。たとえば、dir disk1 を書き込み可能にします。sudo chmod 777ディスク1
  4. 以下を使用してtest.txtを作成します。fopen("/mnt/disk1/text.txt");
  5. これで、絶対パス "/mnt/disk1/test.txt"を含むダウンロードスクリプトを使用してtest.txtファイルをダウンロードできます。

同じ問題に直面した人に役立つことを願っています。

関連情報