У меня есть следующая команда, чтобы найти файлы, измененные за последние 24 часа и суммировать их все.

#!/bin/bash

find /mnt/naspath -mtime 0 -print0 | du --files0-from=- -hc | tail -n1 >> /tmp/size.log
exit 0

Однако он также суммирует файлы из скрытого каталога в .snapshot

То, что я вижу на странице поиска man, я могу исключить .snapshot с последующим, что я не совсем понимаю.

#!/bin/bash

find . -name .snapshot -prune -o \( \! -name *~ -print0 \)

Так что теперь я надеюсь исключить скрытый и суммированный измененный файл с помощью следующей команды, но это происходит совершенно наоборот. Это исключает .snapshot но подводит итог остальным. -mtime 0 не выполняется.

#!/bin/bash

find /mnt/naspath -mtime 0  -name .snapshot -prune -o \( \! -name *~ -print0 \) | du --files0-from=- -hc | tail -n1 >> /tmp/size.log

exit0

Кто-нибудь, пожалуйста, знаете, как исправить команду. Спасибо

1 ответ1

1
Add -not -path '*/\.*' to your command:

find /mnt/naspath -not -path '*/\.*' -mtime 0 -print0 | du --files0-from=- -hc | tail -n1 >> /tmp/size.log

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .