Определите размер резервной копии за 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 
  • Как автоматизировать открытие Firefox через туннель ssh?
  • Закрепление скрипта немного больше
  • как правильно экспортировать имя зарегистрированного пользователя?
  • С помощью sed я хочу заменить первый блок текста, который соответствует
  • BASH | Отчет формата CSV
  • Как запустить скрипт оболочки, содержащий команду awk
  • Сценарий оболочки возвращает 126 код выхода из crontab
  • KSH - если / then / else против двойных усилителей (&&) и двойных труб (||)
  • Как передать аргументы скрипту, которые были сгенерированы другим скриптом
  • Сценарий оболочки с трубами, не работающими в crontab
  • Неблокированный опрос от двух труб?
  • Interesting Posts

    Вывод сценария оболочки неправильно разбивается при передаче в качестве аргумента скрипту

    Должен ли я переключиться с хриплого на Джесси?

    удаление резервной копии из массива с помощью hpacucli

    Как войти в систему как root из Bash и делать что-то

    Что означает% использования в htop, если только один процесс может выполняться одновременно?

    Как изменить разрешение экрана во FreeBSD11 в качестве гостевого?

    Объединить входные данные из нескольких файлов / труб без сбивающих линий или блокировки?

    Почему oot говорит «эй» в унии -o?

    Установка vim / emacs на solaris 8

    как ограничить доступ пользователя к файлу

    Как создание файла forcefsck запускает проверку файловой системы при перезагрузке?

    Как заставить tmux контролировать окно бездействия?

    Grep, но пусть первая строка через

    Создайте раздел подкачки после установки

    Невозможно получить самую низкую яркость с ядром 4.4.0-53-generic

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