Средство просмотра файлов Autosys

#java #shell #autosys

#java #оболочка #autosys

Вопрос:

Моя задача: нужно искать любые новые / обновленные файлы в определенном каталоге сервера A. Как только в этом directoty появится новый / измененный файл, мне нужно будет передать этот файл по ftp на сервер B.

Могу ли я сделать это с помощью Autosys и сценариев оболочки? или программа Java будет более подходящей для этой задачи?

Если я использую Autosys, я могу настроить задание наблюдателя файлов. В случае успеха я могу запустить другое задание. Но как это задание узнает имя файла? Достаточно ли умен File Watcher, чтобы передавать имя файла в качестве параметра другому заданию?

Пожалуйста, помогите….

Комментарии:

1. Это исторически и чисто проблема autosys / stonebranch / Shell. Не добавляйте Java в микс и не усложняйте.

Ответ №1:

Задание file watcher предназначено для проверки существования файла и его размера. Вы должны знать имя файла заранее. В вашем случае, если вы можете получить любое количество новых файлов, имена которых вы не знаете заранее, задание File Watcher не будет работать.

Одним из возможных решений может быть:

  1. Напишите сценарий оболочки, который будет
    • Получите ls -l каталог, который вы просматриваете, и сохраните его в файл
    • Сравните этот файл с файлом, созданным при последнем запуске скрипта
    • Найдите новые файлы и файлы, которые были изменены, и отправьте их по ftp в пункт назначения
  2. Запланируйте, чтобы скрипт в autosys запускался периодически, скажем, каждые 10 минут.

Ответ №2:

  1. Напишите сценарий оболочки — a). cd в этот каталог b). используйте команду find, чтобы найти все файлы, вы можете выбрать расширение файла в find, например. *.txt или * .csv. Вы также можете выбрать поле time, если хотите проверить наличие файлов, которые не старше определенного периода. ИЛИ, в вашем случае, вы можете поддерживать управление версиями файлов, как только файл приходит и найден командой find, вы можете переименовать файл.Таким образом, вы можете убедиться, что у вас есть последний файл для ftp-отправки. Вы можете архивировать или удалять старые файлы, создавая логику, через сколько дней вы не хотите их иметь. c). Отправьте результат поиска в файл, проверьте файл, если он не пустой. передайте этот файл на сервер B.
  2. Запланируйте этот скрипт внутри задания, которое выполняется каждые несколько минут, в зависимости от частоты поступления файла.
  3. В условии успешного выполнения проверьте, успешно ли выполнен предыдущий запуск задания.