Сценарий 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}
Любая помощь приветствуется.