Назад | Перейти на главную страницу

Управление загруженными файлами на сервере

У меня есть сервер, на котором размещен веб-сайт в интранете, где одной из функций будет возможность загружать файлы. Файлы будут сохранены в папке с ограниченным доступом и управляться через веб-сервер. Чтобы избежать конфликтов имен, я планирую назначать UUID и сохранять исходное имя файла вместе с UUID в базе данных для будущего поиска.

Однако у меня есть 2 проблемы:

  1. Возможность дублирования файлов (на фактическом уровне байтов, а не только по имени) и
  2. Обеспечение целостности файлов.

Я думал, что если я запустил какой-то тип хеша / контрольной суммы (MD5, SHA256 и т. Д.), Это могло бы решить обе проблемы. Я мог бы сохранить хеш и сравнить файл в будущем и убедиться, что он не был поврежден, и если бы я нашел другой файл с таким же хешем, я бы знал, является ли файл подлинным дубликатом.

Итак, мои вопросы:

  1. Являются ли мои опасения по поводу повреждения файлов необоснованными?
  2. Кроме того, это хорошая стратегия для выявления повторяющихся файлов?

1) повреждение файлов не является обычным явлением, и базовая система должна предотвращать и предупреждать о таких вещах, но да, это хорошо, чтобы дважды проверить. А еще лучше бэкап офф сайта http://en.wikipedia.org/wiki/Comparison_of_backup_software

2) если вы в любом случае используете хеши, нет необходимости в других стратегиях, но да, там думает, как обнаружение перемещения rsync, которое будет сравнивать все файлы по размеру, что приятно и быстро, тогда любой из того же размера будет хеширован, если еще не был и проверен на уникальность. В зависимости от содержимого файла есть другие варианты, такие как git для текста или качество звука для мультимедиа.