Определите размер резервной копии за 7 дней

У меня есть папка /home/abdul/backup которая содержит файл .gz за последние 1 год … Мое требование – получить размер последних 7 дней …

3 Solutions collect form web for “Определите размер резервной копии за 7 дней”

 find /home/abdul/backup -daystart -name '*.gz' -mtime -7 -exec du -h '{}' ';' 

Как это работает:

find – делает то, что говорит на олове; поскольку вы не указали, какую операционную систему вы используете, я предполагаю, что у вас есть доступ к GNU find.

/home/abdul/backup – стартовый каталог

-daystart – измерять время с начала дня (может или не может быть то, что вы хотите)

-name '*.gz' – рассматривать файлы с именами, заканчивающимися на .gz (или, точнее, на соответствие *.gz )

-mtime -7 – время изменения файла в течение последних 7 * 24 часов, принимая во внимание

-exec du -h '{}' ';' – выполнить печать шрифта именованного файла, в удобочитаемых единицах ( {} расширяется до указанного имени файла)

Здесь будут перечислены все файлы, которые были изменены за последние 7 дней. В зависимости от конкретной операционной системы и файловой системы вы можете установить проверку времени создания файла, но многие системы * nix не отслеживают время, когда файл был создан или «рожден».

 find . -ctime -7 | xargs ls -l | awk '{ TOTAL += $5;} END{print TOTAL;}' 

Сначала будут перечислены файлы с менее чем 7 * 24 часа в текущем каталоге, размер их в байтах, суммирование и предоставление результата.

Если ваши имена файлов не содержат пробелов или других странных символов, вы можете просто сделать это:

 du -sch "$(find /home/abdul/backup -name '*.gz' -mtime +7) " 

Для пробелов и других странных символов используйте вместо этого:

 find /home/abdul/backup -name '*.gz' -mtime -7 -print0 | xargs -0 du -sch 

Если у вас много файлов, соответствующих вашим критериям, обе команды выше не будут выполнены. Первое, потому что список файлов слишком длинный, а второй потому, что xargs будет разбит на несколько команд и вернет общее количество для каждого подмножества.

Еще одно решение, позволяющее избежать этих проблем (спасибо Пауло Алмейде, о ком упоминал его):

 find /home/abdul/backup -name '*.gz' -mtime -7 -print0 | du -sch --files0-from - 

От man du :

  --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input 
  • Сценарий оболочки Bash содержит основной вопрос относительно синтаксиса и basename
  • Изменение числового значения в файле с помощью Vim из сценария
  • Неожиданный EOF при поиске соответствия `''
  • Почему я не могу убить тайм-аут, вызванный с помощью скрипта Bash нажатием клавиши?
  • Восстановление опции в конце функции в zsh
  • Есть ли какая-либо команда unix, которая не выполняет системный вызов во время выполнения?
  • echo $ вместе с переменной
  • Как получить последнюю часть http-ссылки в Bash?
  • Если условие с командой ssh ​​внутри
  • пакеты для установки в цикле for, если они не установлены
  • Есть ли элегантный способ установить переменную оболочки в содержимое файла?
  • Interesting Posts

    Что такое графический API терминала?

    Печать на терминал после загрузки

    Virtualbox: установите общую папку в гостевой FreeBSD из Host Ubuntu

    Есть ли способ получить доступ к электронной таблице Google Диска?

    Как установить права root для всех пользователей?

    компилировать пакеты И держать apt tidy

    Как использовать адрес содержимого в sed в osx без ошибки «ожидаемый контекстный адрес»

    Уменьшение максимального объема звука без уменьшения базового объема

    Как заставить Oracle java 7 работать с setcap cap_net_bind_service + ep

    После перезагрузки Debian после установки

    Сохранять сообщения из предыдущих загрузок при одновременном сохранении выходных данных журнала

    Почему существует большая задержка после ввода неправильного пароля?

    Как создать новый файл, который предоставляет имя файла и его исходную информацию каталога

    Ошибка Kino: ПРЕДУПРЕЖДЕНИЕ: модуль ядра dv1394 не загружен или отсутствует чтение / запись / dev / raw1394 на Fedora 20, dvgrab works

    Измените ключ, который показывает предыдущие командные строки в ksh

    Linux и Unix - лучшая ОС в мире.