Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 17, 2019 17:24:18

EugeneK
Зарегистрирован: 2018-12-28
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь /подсказка по pysftp

Всем привет.
Пытаюсь сделать скрип отправки бекапа на sftp сервер. Часть уже сделана это создание архива и загрузка его на сам sftp, создание и запись в лог файл на самом sftp. Но встал вопрос как можно взять с уже с загруженных файлов “дату создания” для удаления самого старого(глубина хранения 5 дней). Может кто-то подскажите или натолкнет на мысль как можно получить эту дату.
Черновые примеры кода могу запостить но они не “алле”


Офлайн

#2 Окт. 18, 2019 13:30:50

EugeneK
Зарегистрирован: 2018-12-28
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь /подсказка по pysftp

Разобрался
строка строка подкл.

 cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
sftp = pysftp.Connection(host, username='user', password='c3^98fiXS&', cnopts=cnopts)

вот код поиска
 def delete_old_files(path_del_files, copies_for_delete, extension_for_files):
    #
    # Delete old archives copies in log_dir and path.
    #
    min_del_dict = ''
    if copies_for_delete > saved_archive_copies:
        while copies_for_delete > saved_archive_copies:
            del_dict = {}
            sftp.chdir(path_del_files)
            dir_list_folder = sftp.listdir()
            for files in dir_list_folder:
                if sftp.isfile(files):
                    if fnmatch.fnmatch(files, extension_for_files) or fnmatch.fnmatch(files, extension_for_files):
                        date = sftp.stat(files).st_mtime
                        del_dict[files] = date
            min_del_dict = min(del_dict, key=del_dict.get)
            copies_for_delete -= 1
            sftp.remove(min_del_dict)
            sftp.chdir('/')
        return min_del_dict
    return 'Logs and backups files less or equal 5'

Может пригодится кому-то. Или кто более опытен поможет сократить саму функцию

Отредактировано EugeneK (Окт. 18, 2019 13:38:21)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version