Возможно ли рассчитать последнее измененное время в каталоге, принимая во внимание изменение содержимого файла?Последнее изменение времени в каталоге на основе содержащегося содержимого файла?
Мы пытаемся посмотреть серию каталогов выгрузки, чтобы определить, когда пользовательские сеансы FTP завершены.
Пользователи загружают набор файлов в определенный каталог, и мы хотели бы обнаружить, когда последний файл в этом каталоге не изменился в течение N минут. (Мы используем это в качестве прокси-сервера для «FTP сессии делается».)
Мы начали с этим, чтобы найти каталоги, которые были простаивает более 5, но менее 10, минут:
find . -mmin +5 -mmin -10 -type d -ls
Используемая здесь временная метка каталога основана на времени, когда последний каталог был добавлен в каталог.
Я читал Directory last modified date, и ясно, что чтение mtime или mmin для каталога не будет работать, поскольку оно не изменяется, когда файлы в каталоге обновляют их содержимое. Таким образом, вышесказанное не будет работать, потому что если этот последний файл представляет собой большой файл, который может занять> 10 минут для загрузки, тогда каталог не будет действительно бездействовать (т. Е. Все файлы остаются неизменными), когда это срабатывает.
Существуют ли альтернативы на основе оболочки (в идеале это конфигурация команды find
), которые используют mtime последнего измененного файла внутри как временную метку, но все же работают на уровне каталогов (т.е. мы не хотим получать несколько ударов на основе всех файлов внутри одного каталога)?
Рассмотрите альтернативное решение, так как я не думаю, что вы найдете варианты, которые вы ищете (возможно, вы можете его закодировать). Если вы получаете файлы из коммерческого источника в рамках контракта, небезосновательно попросить их отправить специальный файл «flag» в качестве самого последнего файла. Затем вы можете просто зацикливаться, ища флаговый файл, и когда он придет, вы можете начать свою обработку (которая должна включать в себя этап проверки, чтобы быть уверенным, что все файлы, которые вы там есть, что они не совпадают с датами , а не пустым (если это не так), файл флага может быть списком файлов размером – shellter
К сожалению, это, как правило, происходит от очень нетехнических пользователей, которые просто отбрасывают файлы в клиентский интерфейс. Мы стремимся распространять пользовательский клиент что позволило бы этот метод флага за кулисами, но нам все же хотелось бы отменить сценарии, когда пользовательское развертывание клиента не будет работать – Ramon