Форум сайта python.su
0
Всем привет.
Пытаюсь сделать скрип отправки бекапа на sftp сервер. Часть уже сделана это создание архива и загрузка его на сам sftp, создание и запись в лог файл на самом sftp. Но встал вопрос как можно взять с уже с загруженных файлов “дату создания” для удаления самого старого(глубина хранения 5 дней). Может кто-то подскажите или натолкнет на мысль как можно получить эту дату.
Черновые примеры кода могу запостить но они не “алле”
Офлайн
0
Разобрался
строка строка подкл.
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)
Офлайн