Я пытаюсь переместить файлы из исходной папки, в которую постоянно выполняется запись (Файлы и папки).Как только файл больше не записывается, он больше не будет перезаписываться.Я хочу переместить файлы, которые не используются, в другую папку, но с сохранением структуры каталогов.В конце концов я захочу добавить это в непрерывный цикл или запустить его через равные промежутки времени, чтобы «очистить» исходную папку.
Вот мой пример до и после:
Before:
Parent/
├── Source/
│ ├── DirA/
│ │ ├── File1InUse.abc
│ │ ├── File2NotInUse.abc
│ │ └── File3InUse.abc
│ └── DirB/
│ ├── File4InUse.abc
│ ├── File5NotInUse.abc
│ └── File6NotInUse.abc
│
├── Destination/
After:
Parent/
├── Source/
│ ├── DirA/
│ │ ├── File1InUse.abc
│ │ └── File3InUse.abc
│ └── DirB/
│ └── File4InUse.abc
│
├── Destination/
├── DirA/
│ └── File2NotInUse.abc
└── DirB/
├── File5NotInUse.abc
└── File6NotInUse.abc
Я нашел ответов на перемещение файлов, которые перемещают файлы, которые не используются:
comm -2 -3 <(find $dir -maxdepth 1 -type f|sort) <(sudo lsof $dir/* | awk '(NR>1) {print $9}'|sort) | xargs -I {} mv {} $move_dir
Я также нашел ответы на перемещение файлов и сохранение структуры каталогов:
возможно с rsync
:
rsync -axuv --delete-after --progress Source/ Target/
Я не такойзнающий в командной строке, поэтому я не уверен, как соединить эти два понятия.
Спасибо за любую помощь.