Автоматизация. Забираем файлы с FTP. Авторская утилита FTPexchange.

Поделитесь статьёй с друзьями


Автоматизация; FTP; exchange; FTPexch; FTPexchange; программа; утилита; программист;
Автоматизация — инвестиция в жизнь.

Хорошие айтишники – самые ленивые сотрудники компании. Они готовы потратить массу времени на автоматизацию любого процесса, который в будущем избавит их от рутинного ручного труда. А если удастся сделать так, что постоянно присутствовать лично на автоматизированном процессе не нужно – достигнут предел совершенства :-D.

Я считаю себя хорошим айтишником (а ещё я очень скромный 😉), поэтому тоже стараюсь автоматизировать всё, что возможно, и это обычно помогает мне в моей работе.

По роду службы приходится заниматься настройкой и автоматизацией передачи данных между разными машинами и системами. Зачастую этот процесс увлекательный и достаточно объёмный: бывают задействованы не только различные программные решения, но и механизмы (я бы даже сказал — роботы), да и чаще обмен происходит трансграничный.

Пришлось как-то потратить пару часов на написание и отладку скрипта, который автоматизирует одну маленькую часть обмена данными. Моё решение позволило мне не только автоматизировать этот процесс, но и избавило меня от персонального присутствия при нём – в общем, как я люблю.

Опишу процесс, для чего мне понадобилась автоматизация.

Есть у нас в глобальной компании web-сервис, который создаёт файлы, нужные нам локально. Эти файлы мы можем забрать по FTP. Хранить их там нам не нужно, поэтому их нужно скопировать и подсунуть в нашу систему, а на FTP их нужно удалить. Вот, собственно, этот процесс я и автоматизировал.

Совсем коротко — моя программка всего лишь забирает файлы с FTP. Но т.к. эти файлы на FTP попадают в приличном объёме и очень часто, да и нужны они «здесь и сейчас» для оперативной работы, то здесь не обойтись без «электронных рук».

А так как я любитель гибкости и универсальности – я постарался продумать архитектуру программы так, чтобы её узкое применение можно было найти не только в одном конкретном случае.

Да что я всё вокруг да около? Представляю вашему вниманию моё новое небольшое творение под авторским названием FTPexchange.

Автоматизация; FTP; exchange; FTPexch; FTPexchange; программа; утилита; программист;

О программе:

  • Программа не имеет интерфейса и работает в консольном режиме.
  • Работает в ОС семейства Windows
  • Имеется файл config.ini, который и даёт возможность использовать эту программу всем, кто в ней нуждается. Файл создаётся автоматически при первом запуске программы.
  • В файле config.ini указываются:
    • Адрес FTP сервера (IP или хост без указания протокола) в поле после host=. Например: host=ftp.paladinum.ru
    • Логин для авторизации на FTP сервере в поле после login= . Например: login=MyLogin
    • Пароль для авторизации на FTP сервере (хранится в не зашифрованном виде) в поле после password=. Например: password=MyPassword
    • Путь к файлам на FTP указывается в строчке после ftp_path=. Например: ftp_path=/folder1/subfolder1 . Если это корень FTP, то в строчке нужно указать только прямой слеш: ftp_path=/
    • Путь на локальном компьютере, куда нужно скопировать файлы, указывается в поле после local_path= . Например: local_path=С:\download

Программа FTPexchange помимо перемещения файлов с FTP сервера в локальную указанную папку, так же делает резервную копию перемещённых файлов в директорию «backup», которая создается там же, куда была установлена сама программа. Так же с каждым запуском программы в папке «logs» создаётся текстовый файл с информацией сколько файлов было скопировано и список названий этих файлов.

Если запустить программу в консольном режиме, то можно увидеть этапы её выполнения:

Автоматизация; FTP; exchange; FTPexch; FTPexchange; программа; утилита; программист;
Программа точно работает 🙂 Если не работает — пишите об ошибках.

Текущая стабильная версия программы для широкого использования – 1.7.

Надеюсь, рассказывать как приспособить запуск программы в автоматическом режиме рассказывать не надо? Ну а если все же нужно рассказать – пишите в комментариях.

Внимание! Программа распространяется по принципу «как есть». Я, как автор программы, честно сообщаю, что не встраивал в программу никакого вредоносного или шпионского кода — программа имеет только вполне определённую функциональность, описанную на этом сайте. И всё же я, как автор программы, отказываюсь нести какую-либо ответственность за потерю или повреждение данных,  упущенную выгоду, нарушения физического и психического здоровья людей и животных, преступления, войны, стихийные бедствия, смерть Вселенной и любые другие отрицательные и неблагоприятные эффекты, связанные с использованием или неиспользованием моего программного продукта FTPexchange.

Если остались вопросы по работе с программой – обязательно задавайте их, и я по возможности отвечу. Всегда приятно услышать доброе слово от тех, кому была полезна моя программа – обязательно оставляйте комментарии. Если Ваша благодарность выше всяких похвал – достойно отблагодарить меня можно на странице «О блоге». Если у вас есть замечания по работе программы, или же предложения дополнить её нужным вам функционалом – пишите, договоримся 😉

Скачать FTPexchange (1510 Загрузок )

Поделитесь статьёй с друзьями

5 комментариев

    1. Сергей, прошу прощение за столь поздний ответ.
      К сожалению, текущая версия не подразумевает такой возможности, но могу её добавить если вопрос ещё актуален.

      1. Добрый день, можно ли получить исходники программы, я бы под себя её немножко переделал. Я ведь правильно понимаю что она на питон?

        1. Добрый день. Как сделать, чтобы файлы оставались на ФТП, не проходила команда DELETE? Было бы неплохо иметь возможность отключать эту функцию.
          Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *