
Хорошие айтишники – самые ленивые сотрудники компании. Они готовы потратить массу времени на автоматизацию любого процесса, который в будущем избавит их от рутинного ручного труда. А если удастся сделать так, что постоянно присутствовать лично на автоматизированном процессе не нужно – достигнут предел совершенства :-D.
Я считаю себя хорошим айтишником (а ещё я очень скромный 😉), поэтому тоже стараюсь автоматизировать всё, что возможно, и это обычно помогает мне в моей работе.
По роду службы приходится заниматься настройкой и автоматизацией передачи данных между разными машинами и системами. Зачастую этот процесс увлекательный и достаточно объёмный: бывают задействованы не только различные программные решения, но и механизмы (я бы даже сказал — роботы), да и чаще обмен происходит трансграничный.
Пришлось как-то потратить пару часов на написание и отладку скрипта, который автоматизирует одну маленькую часть обмена данными. Моё решение позволило мне не только автоматизировать этот процесс, но и избавило меня от персонального присутствия при нём – в общем, как я люблю.
Опишу процесс, для чего мне понадобилась автоматизация.
Есть у нас в глобальной компании web-сервис, который создаёт файлы, нужные нам локально. Эти файлы мы можем забрать по FTP. Хранить их там нам не нужно, поэтому их нужно скопировать и подсунуть в нашу систему, а на FTP их нужно удалить. Вот, собственно, этот процесс я и автоматизировал.
Совсем коротко — моя программка всего лишь забирает файлы с FTP. Но т.к. эти файлы на FTP попадают в приличном объёме и очень часто, да и нужны они «здесь и сейчас» для оперативной работы, то здесь не обойтись без «электронных рук».
А так как я любитель гибкости и универсальности – я постарался продумать архитектуру программы так, чтобы её узкое применение можно было найти не только в одном конкретном случае.
Да что я всё вокруг да около? Представляю вашему вниманию моё новое небольшое творение под авторским названием 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» создаётся текстовый файл с информацией сколько файлов было скопировано и список названий этих файлов.
Если запустить программу в консольном режиме, то можно увидеть этапы её выполнения:

Текущая стабильная версия программы для широкого использования – 1.7.
Надеюсь, рассказывать как приспособить запуск программы в автоматическом режиме рассказывать не надо? Ну а если все же нужно рассказать – пишите в комментариях.
Внимание! Программа распространяется по принципу «как есть». Я, как автор программы, честно сообщаю, что не встраивал в программу никакого вредоносного или шпионского кода — программа имеет только вполне определённую функциональность, описанную на этом сайте. И всё же я, как автор программы, отказываюсь нести какую-либо ответственность за потерю или повреждение данных, упущенную выгоду, нарушения физического и психического здоровья людей и животных, преступления, войны, стихийные бедствия, смерть Вселенной и любые другие отрицательные и неблагоприятные эффекты, связанные с использованием или неиспользованием моего программного продукта FTPexchange.
Если остались вопросы по работе с программой – обязательно задавайте их, и я по возможности отвечу. Всегда приятно услышать доброе слово от тех, кому была полезна моя программа – обязательно оставляйте комментарии. Если Ваша благодарность выше всяких похвал – достойно отблагодарить меня можно на странице «О блоге». Если у вас есть замечания по работе программы, или же предложения дополнить её нужным вам функционалом – пишите, договоримся 😉
Скачать FTPexchange (1388 Загрузок)
Добрый день. Как сделать, чтобы файлы оставались на ФТП, не проходила команда DELETE?
Спасибо.
Сергей, прошу прощение за столь поздний ответ.
К сожалению, текущая версия не подразумевает такой возможности, но могу её добавить если вопрос ещё актуален.
Добрый день, можно ли получить исходники программы, я бы под себя её немножко переделал. Я ведь правильно понимаю что она на питон?
Да, где-то был. В профиле почта указана корректная?