これは非常に簡単な質問だとはわかっていますが、2 台の 4TB HDD を搭載したかなり大きなサーバーの使用は初めてなので、それについて多くのことを学びたいと思っています。
cron として実行される PHP スクリプトがあります。スクリプトは、FTP サーバーからファイルをダウンロードし、そのファイルをサーバー上の特定のフォルダーに配置するシェル コマンド (aria2c) を呼び出します。これは数か月前から正常に動作しています。サーバー上のファイルは、ユーザーがダウンロードできる必要があります。
しかし、今度はファイル用のスペースを増やすために 2 台目の HDD をマウントしました。ご覧のとおり、マウントは成功しました。
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" という名前のディレクトリにファイルをダウンロードしていることがわかります。メイン HDD "/" にあると思います。"df" コマンドを実行して、2 番目の HDD がマウントされている場所を確認し、出力パスを次のように変更します。
/media/HDD2/files/$remfile
答え2
エラーのリストを確認した後、問題の解決策を見つけました。
- 2番目のHDDへのパスは次のとおりです。 /mnt/ディスク1(ヒントをくれたNIZに感謝します)
- このディレクトリをオープンベースディレクトリの中にphp.iniのように:[その他のディレクトリ]:/mnt/disk1
- シェルでログインしてメートルdir. dir disk1を書き込み可能にする。例:sudo chmod 777 ディスク1
- test.txtを書いて
fopen("/mnt/disk1/text.txt");
- test.txt ファイルは、絶対パス「/mnt/disk1/test.txt」を含むダウンロード スクリプトを使用してダウンロードできるようになりました。
同じ問題に直面している方々のお役に立てれば幸いです。