Python для синхронізації папок на сервері Ubuntu

Автор | 29.03.2023

Ось приклад скрипту на Python, який копіює вміст папки з одного місця на інше в локальній мережі. Скрипт використовує модуль shutil для копіювання файлів та папок, та Flask для веб-інтерфейсу.

import shutil
from flask import Flask

app = Flask(__name__)

@app.route('/')
def copy_folder():
    source_folder = '/path/to/source/folder' # шлях до вихідної папки
    destination_folder = '/path/to/destination/folder' # шлях до цільової папки

    # налаштування логіну та паролю для доступу до папок
    login = 'username'
    password = 'password'

    # копіювання вмісту папки
    try:
        shutil.copytree(source_folder, destination_folder)
        message = "Копіювання успішно завершено!"
    except Exception as e:
        message = "Сталася помилка: {}".format(e)

    # вивід повідомлення на веб-сторінку
    return message

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

Перед запуском скрипту необхідно встановити Flask та запустити сервер на потрібному порту. Також необхідно відкрити порти для доступу до сервера з іншого комп’ютера в мережі.

pip install flask
export FLASK_APP=app.py
flask run --port=5000

Після запуску скрипту можна отримати статус копіювання, перейшовши за адресою http://server_address:5000/. Наприклад, якщо скрипт запущено на сервері з IP-адресою 192.168.0.100, то сторінка буде доступна за адресою http://192.168.0.100:5000/.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *