Kfale - Автоматизированная система загрузки файлов на FTP сервер
О проекте
Kfale — это мощный и простой в использовании скрипт, написанный на Python, который позволяет автоматизировать процесс загрузки файлов на FTP-сервер. С помощью этого инструмента вы можете легко управлять передачей данных между вашим локальным хранилищем и удалённым FTP-сервером.
Скрипт поддерживает хранение конфигурации в файлах config.ini и ftp.ini, что делает его удобным для повторного использования без необходимости каждый раз вводить параметры подключения.
Основные возможности
- Управление конфигурацией: Все настройки сохраняются в специальных файлах (
config.iniиftp.ini), чтобы избежать ручного ввода при каждом запуске. - Простое взаимодействие с пользователем: Интерактивное меню позволяет быстро указать путь к папке и параметры подключения к FTP-серверу.
- Автоматическая загрузка файлов: После успешной загрузки файла на FTP-сервер, он автоматически удаляется с локального устройства, освобождая место.
- Безопасность: Конфиденциальные данные (например, логин и пароль) хранятся в отдельном файле конфигурации.
- Поддержка стандартных протоколов: Использует библиотеку
ftplibдля надёжной работы с FTP-серверами.
Требования
Для работы скрипта необходимы следующие компоненты:
-
Python 3.x: Убедитесь, что у вас установлен Python версии 3.10 или выше.
-
Библиотека ftplib: Обычно входит в стандартную библиотеку Python, но если её нет, её можно установить через pip:
pip install ftplib
Установка
-
Клонирование репозитория
Склонируйте этот репозиторий на свой компьютер:
git clone https://github.com/your-repo-url/Kfale.git cd Kfale -
Установка зависимостей
Убедитесь, что у вас установлен Python 3.x. Затем установите все необходимые зависимости:
pip install configparserПримечание: В большинстве случаев
ftplibуже включена в стандартную библиотеку Python, поэтому дополнительная установка не требуется.
Как использовать
Первый запуск
При первом запуске скрипт запросит у вас следующие данные:
- Путь к папке для взаимодействия со скриптом: Укажите путь к директории, где будут находиться файлы для загрузки.
- Детали подключения к FTP-серверу:
- IP-адрес FTP-сервера.
- Логин пользователя.
- Пароль.
Все эти данные будут сохранены в соответствующих файлах конфигурации (config.ini и ftp.ini).
Работа со скриптом
-
Запустите скрипт:
python main.py -
Введите имя файла, который нужно загрузить на FTP-сервер. Если файл успешно загружен, он будет автоматически удалён с локального устройства.
-
Для выхода из программы введите команду
exit.
Конфигурационные файлы
config.ini
Файл содержит путь к директории, где находятся файлы для загрузки:
[DEFAULT]
folder_path = /path/to/your/folder
ftp.ini
Файл содержит информацию о подключении к FTP-серверу:
[DEFAULT]
host = your_ftp_host
username = your_username
password = your_password
Важно: Не забудьте защищать файл
ftp.ini, так как он содержит конфиденциальную информацию.
Пример использования
$ python main.py
Введите путь к папке для взаимодействия со скриптом: /home/user/files
Введите IP адрес FTP сервера: ftp.example.com
Введите логин для FTP сервера: user123
Введите пароль для FTP сервера: password123
Введите имя файла для копирования на FTP сервер (или 'exit' для выхода): example.txt
Файл успешно загружен на FTP сервер.
Оригинальный файл удален.
Введите имя файла для копирования на FTP сервер (или 'exit' для выхода): exit
Дополнительные функции
- Логирование: Вы можете добавить логирование для отслеживания действий скрипта.
- Многопоточность: Для загрузки нескольких файлов одновременно можно использовать многопоточность.
- Расширенные проверки: Добавьте проверку наличия файла перед попыткой загрузки.
Лицензия
Этот проект распространяется по лицензии MIT License. Подробности можно найти в файле LICENSE.
Авторы
- kromskii2 - Инициатор проекта - GitHub
Если у вас есть вопросы или предложения по улучшению, создайте issue или pull request!
Благодарности
- Спасибо сообществу Python за отличные инструменты и библиотеки!
- Особая благодарность всем, кто помог тестировать этот проект.
Надеемся, что Kfale станет полезным инструментом в вашем арсенале! 😊