Сценарий Python должен делать резервную копию из недавно измененных каталогов, но не может прочитать mtime

Я написал скрипт ниже, который проверяет указанный путь PARENT_DIR и находит недавно измененные каталоги (+ подкаталоги), а затем создает их резервную копию в MOVE_DIR

Проблема, с которой я сталкиваюсь, заключается в том, что, похоже, этот сценарий почему-то не проверяет mtime каталогов и копирует весь контент в родительском каталоге по адресу назначения. что я тут не так делаю?

import os
import os.path
import datetime
from shutil import copytree
from shutil import move
from time import time
os.chdir("/home/sina/Desktop/incoming")

def mins_since_mod(fname):
    """Return time from last modification in minutes"""
    return (time() - os.path.getmtime(fname)) / 60
PARENT_DIR = '/home/sina/Desktop/incoming'
MOVE_DIR = '/home/sina/Desktop/incoming_New'

# Loop over files in PARENT_DIR
for fname in os.listdir(PARENT_DIR):
    # If the file is a directory and was modified in last 10 days
        if ((os.path.isdir(fname)) and (mins_since_mod(fname) < 14400)):
           copytree(fname, MOVE_DIR) # move it to a new location

если я хочу прояснить вопрос, вы можете рассмотреть путь ниже с помощью следующих подкаталогов:

 /home/sina/Desktop/incoming/A/A1.1
 /home/sina/Desktop/incoming/A/A2.2
 ...

подкаталоги в ../A такие как A2.2 или же A1.1 изменяются другим приложением (это приложение может добавлять даже новые подкаталоги), и я хотел бы получать их резервные копии каждые 10 дней по этому пути /home/sina/Desktop/incoming_New/A/{subdirectories}

Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам