Как записать сценарий оболочки для перемещения файлов с FTP-сервера на диск сетевого ресурса

У меня есть клиенты, которые загружают большие объемы данных к моему 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 мог вполне варьироваться.

Я думал способ, которым я могу определить, что эти файлы путем простой передачи ВСЕХ файлов в каталоге (хотя это может требовать времени) или несколько называть подмножество их, согласно времени завершенным или что-то вроде этого.

Я открыт для идей.Заранее спасибо.

1
задан 26 August 2010 в 04:31

3 ответа

Почему бы просто не сделать папку 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>, чтобы не тратить впустую время на передачу между дисками, и файлы сразу же доступны.

0
ответ дан 26 August 2010 в 04:31

Вы можете попытаться обработать файлы, как только они будут загружены на FTP, с использованием технологии, такой как inotify. inoticoming - это инструмент, который вы можете использовать для этого, см. http://manpages.ubuntu.com/manpages/lucid/man1/inoticoming.1.html .

0
ответ дан 26 August 2010 в 04:31

Для дублирования файлов отсюда туда (или туда сюда), rsync - это швейцарская армейская бензопила, которая, скорее всего, сделает то, что вы хотите.

0
ответ дан 26 August 2010 в 04:31

Другие вопросы по тегам:

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