Я знал, что это довольно простой вопрос, но я новичок в использовании довольно большого сервера с двумя жесткими дисками по 4 ТБ и хочу узнать о нем больше.
У меня есть скрипт php, который работает как cron. Скрипт вызывает команду оболочки (aria2c), которая загружает файл с ftp-сервера и помещает его в определенную папку на моем сервере. Это прекрасно работает уже несколько месяцев. Файлы на сервере должны быть доступны для загрузки пользователями.
Но теперь мы смонтировали второй жесткий диск, чтобы получить больше места для файлов. Как я вижу, монтирование прошло успешно.
Два дня назад квота 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", чтобы увидеть, где смонтирован ваш второй жесткий диск, и измените выходной путь на что-то вроде:
/media/HDD2/files/$remfile
решение2
Просмотрев список ошибок, я нашел решение своей проблемы:
- путь к моему второму жесткому диску такой. /mnt/диск1(спасибо NIZ за подсказку)
- включить этот каталог вopen_basedirвphp.iniнравиться:[другие каталоги]:/mnt/disk1
- войдите в систему с помощью shell и перейдите на страницумнтdir. Сделайте каталог disk1 доступным для записи, например,судо chmod 777 диск1
- написать test.txt с
fopen("/mnt/disk1/text.txt");
- Файл test.txt теперь можно загрузить с помощью скрипта загрузки, который включает абсолютный путь "/mnt/disk1/test.txt"
Надеюсь, я смогу помочь любому, кто столкнулся с той же проблемой.