Веб-интерфейс для обмена файлами на сервере с автоматическим удалением через x дней [закрыто]

В настоящее время у меня есть доступ к FTP-серверу с загруженными на него файлами.Мне было интересно узнать, как:

Автоматически удалять файлы в определенной папке на FTP-сервере, возраст которых составляет x дней?

Я новичок в Linux / Unix, я читал, что люди предлагают использовать Cronjob который запускается каждую ночь для удаления этих файлов. Я знаю, что на сервере работает какая-то разновидность Linux. Однако я ищу что-то более элегантное:

В настоящее время я не знаю, установлены ли на сервере PHP или Perl и т. Д., И могу ли я их установить. Но если для этого существовали какие-либо альтернативы с открытым исходным кодом:

1) Разрешить пользователю через веб-интерфейс загружать файлы на сервер 2) Разрешить другому пользователю загружать файл из того же интерфейса { {1}} 3) Сервер автоматически отслеживает файл с даты загрузки и удаляет файлы возрастом x дней

. Буду признателен за любые предложения. Мне не удалось найти никаких решений с открытым исходным кодом при первоначальном поиске в Google ...

-2
задан 22 August 2014 в 02:09
1 ответ

Добро пожаловать в мир Linux. На самом деле, crontab - это очень элегантный способ делать вещи, и вы должны следовать советам, которые вы получили до сих пор. Это способ планирования задач под Linux. Если вы не хотите снова закодировать колесо, просто используйте crontab.

Команда, которую вы ищете:

find /path/to/your/folder -mtime +[days old]

например:

sysadmin@omg:~/sync/0434$ find . -mtime +180
./201305_10min.csv
./201308_10min.csv
./201307_10min.csv
./201303_10min.csv
./201312_10min.csv
./201301_10min.csv
./201311_10min.csv
./201302_10min.csv
./201306_10min.csv
./201304_10min.csv
./201211_10min.csv
./201401_10min.csv
./201309_10min.csv
./201212_10min.csv
./201310_10min.csv

Это покажет все файлы старше 180 дней...

Чтобы удалить эти файлы, я бы добавил:

find . -mtime +180 | xargs rm

xargs будет передавать каждую строку, возвращаемую из find в rm в качестве аргумента

И если я кронтирую это, я больше никогда не буду беспокоиться о файлах старше 180 дней в моей системе.

Веб-интерфейс сам по себе является предметом обсуждения. Вы должны быть знакомы с HTML формами, GET/POST методами взаимодействия с клиентом и, возможно, использовать PHP метод ftp_put для загрузки на ваш сервер.

http://www.w3schools.com/html/html_forms.asp
http://php.net/manual/en/function.ftp-put.php

Также обратите внимание, что указание вашего веб-сервера на вашу ftp-директорию перечислит его содержимое (файлы), которые можно загрузить одним щелчком мыши, так что, опять же, вам не нужно самостоятельно кодировать веб-интерфейс. Например, попробуйте:

sudo apt-get install apache2
sudo rm /var/www/index.html
sudo cp -r /tmp/* /var/www
sudo chown -R www-data:www-data /var/www

Введите адрес вашего сервера в вашем браузере:

http://your-server-IP

Вы должны увидеть что-то похожее на ваше требование: 2) Позвольте другому пользователю скачать файл с того же самого интерфейса

Надеюсь, вы сочтете это полезным и вводным в Linux. Используйте веб-интерфейс для загрузки файлов - это чисто web-дизайн, а не вопрос linux, задавайте что-нибудь, что кажется вам запутанным в комментариях. Я постараюсь прояснить это для Вас. Но, пожалуйста, узнайте, по крайней мере, какой дистрибутив вы используете, а не "какую-нибудь вариацию Linux".

.
3
ответ дан 5 December 2019 в 21:12

Теги

Похожие вопросы