У меня есть некоторые автоматические загрузки в собственном дистрибутиве linux. Они переходят на временный диск с царапинами. Я хочу переместить их, когда они закончатся на главный массив RAID. Лучший способ, которым я могу это сделать, - проверить папки на диске, чтобы увидеть, изменилось ли содержимое в последнюю минуту. Если нет, то это, вероятно, закончит загрузку, а затем переместите ее.Сценарий Bash для перемещения папок на основе изменений в размерах?
Предполагая, что в этом месте могут быть сотни папок или только один, и все это будет в том же месте. Каков наилучший способ написать это?
я могу получить список размеров папок с
du -h directory/name
Папки могут содержать несколько файлов в любом месте от 1.5MB до 10GB
Temp Loc: /volume2/4TBScratch/Processing
Dest Loc when complete: /volume1/S/00 Landing
EDIT: Используя это:
find /volume2/4TBScratch/Processing -mindepth 1 -type d -not -mmin +10 -exec mv "{}" "/volume1/S/00 Landing" \;
find: `/volume2/4TBScratch/Processing/test': No such file or directory
4.3#
все же оно копирует релевант t и все файлы. Но ошибка беспокоит меня, что в будущем что-то может пойти не так ... это потому, что есть несколько файлов, и у нее есть одна и та же команда перемещения для КАЖДОГО файла или папки в корневой папке? Но поскольку он перемещает все это на первой итерации, он не может найти ее на следующих?
EDIT2: Использование Rsync
4.3# find /volume2/4TBScratch/Processing -mindepth 1 -type d -not -mmin +10 -exec rsync --remove-source-files "{}" "/volume1/S/00 Landing" \;
skipping directory newtest
skipping directory erw
ПОСТАНОВИЛИ: EDIT3 Решено с помощью в комментариях ниже. Окончательный сценарий выглядит следующим образом:
find /volume2/4TBScratch/Processing -mindepth 1 -type d -not -mmin +10 -exec rsync -a --remove-source-files "{}" "/volume1/S/00 Landing" \;
find /volume2/4TBScratch/Processing -depth -type d -empty -delete
Rsync для перемещения папок и файлов, но оставляет пустую корневую директорию следующая команда находит пустые папки и удаляет их.
Спасибо всем!
Каков размер папок, которые вы хотите переместить? и какой каталог вы хотите переместить? – Inian
обновил вопрос. –
Таким образом, будет безопасно перемещать все папки размером менее 10 ГБ во временном местоположении до фактического места назначения. – Inian