Я пытаюсь написать сценарий оболочки, который перемещает файлы из одного места назначения в другое, а затем удаляет файлы старше 7 дней.
Однако я продолжаю получать ту же ошибку:
mv: ‘x’ and ‘y’ are the same file
Это моя команда:
find /opt/files/ -type f -name '*.csv' -mtime +1 -exec mv {} /opt/files/oldCSVFiles/ \;
find /opt/files/oldCSVFiles/ -type f -name '*.csv' -mtime +7 -exec rm {} \;
Заранее спасибо!
Просто пропустите эти файлы в папке /opt/files/oldCSVFiles/
:
find /opt/files/ -type f -name '*.csv' -mtime +1 -not -path "/opt/files/oldCSVFiles/*" -exec mv {} /opt/files/oldCSVFiles/ \;
find /opt/files/oldCSVFiles/ -type f -name '*.csv' -mtime +7 -exec rm {} \;
find
работает рекурсивно. Он также ищет файлы внутри/opt/files/oldCSVFiles
. См.-maxdepth
вариант поиска.