У меня есть клиенты, которые загружают большие объемы данных к моему FTP-серверу (машина Ubuntu 9.10). После того как файлы загружаются, я сталкиваюсь с передачей их к локальному сетевому диску Droboshare, таким образом, наш штат технической поддержки может получить их и проанализировать проблему.
После того, как я монтирую сетевой ресурс в /media/<sharename>
Я выполняю эту команду вручную для получения этих файлов:
sudo mv /home/ftp/<data_dir>/<file_name> /media/<network_share>/<ftp_user_data>
но это берет навсегда и если существуют десятки или сотни файлов, я не могу реалистично сделать этого много раз. Я думал, что будет хорошо иметь сценарий, что я мог выполнить periodaclly для передачи группы этих файлов к сетевому ресурсу. Я могу отсортировать их, поскольку штат технической поддержки использует их.
Я все еще плохо знаком с Linux и пишущий сценарии оболочки. Так или иначе сделать это легко? Только для добавления к описанию здесь файлы могли быть zip-файлами, файлами FASTA, файлами TAR.GZ и/или файлами TXT. Кроме того, если zip-файлы являются большими, определенные программы архивирования преобразовывают их, чтобы Архивировать 001, Архивировать 002, Архивировать 003, и т.д... Таким образом, тип файла в этом каталоге FTP мог вполне варьироваться.
Я думал способ, которым я могу определить, что эти файлы путем простой передачи ВСЕХ файлов в каталоге (хотя это может требовать времени) или несколько называть подмножество их, согласно времени завершенным или что-то вроде этого.
Я открыт для идей.Заранее спасибо.
Почему бы просто не сделать папку FTP фактической точкой монтирования для сетевого диска? Я сталкиваюсь с подобной проблемой, когда постоянно копирую VirtualMachines на компьютере с Linux в сетевой ресурс Windows (поскольку большая часть инфраструктуры компании - Windows). Это моя структура:
/media/windows-share
- это моя точка монтирования
Для непрерывности я создал символическую ссылку в своем приложении резервного копирования:
/opt/backup/mnt
, так что если монтирование В будущем моя программа не нуждается в обновлении.
Наконец, я использую небольшой крутой инструмент под названием autofs
(sudo apt-get install autofs
). Это руководство достойное (и актуальное) - хотя я применил его с немного другим подходом к моей [ 117] блог .
В вашем случае я бы создал символическую ссылку, где моя папка FTP (/home/ftp/<data_dir>/
) на соответствующую сетевую папку в /media/<network_share>/<ftp_user_data>
, чтобы не тратить впустую время на передачу между дисками, и файлы сразу же доступны.
Вы можете попытаться обработать файлы, как только они будут загружены на FTP, с использованием технологии, такой как inotify. inoticoming
- это инструмент, который вы можете использовать для этого, см. http://manpages.ubuntu.com/manpages/lucid/man1/inoticoming.1.html .
Для дублирования файлов отсюда туда (или туда сюда), rsync - это швейцарская армейская бензопила, которая, скорее всего, сделает то, что вы хотите.