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

Я попробовал ваш пример, и он работает должным образом -см. вывод ниже. Какую версию mvвы используете и на какой системе? И совет, чтобы избежать каких-либо специальных символов (, например. имена с пробелами )делают неожиданные вещи Я рекомендую заключать в кавычки ваши переменные, и вы можете удалить имя файла из цели:mv "$TEMPPATH/file" "$BACKUPPATH/".

Пример из вопроса:

$ tree /tmp/directory
/tmp/directory
└── file

0 directories, 1 file
$ tree /backup
/backup
└── path

1 directory, 0 files
$ TEMPPATH="/tmp/directory"
$ BACKUPPATH="/backup/path"
$ mv $TEMPPATH/file $BACKUPPATH/file
$ tree /tmp/directory
/tmp/directory

0 directories, 0 files
$ tree /backup
/backup
└── path
    └── file

1 directory, 1 file

По-прежнему не удается воспроизвести:

$ tree /tmp/test /backup/
/tmp/test
└── some-example.sql
/backup/
└── path

1 directory, 1 file
$ TEMPPATH=/tmp/test
$ DATEFORM=some
$ SITE=example
$ BACKUPPATH=/backup/path
$ zip --quiet $TEMPPATH/$DATEFORM-$SITE.sql.zip $TEMPPATH/$DATEFORM-$SITE.sql
$ mv $TEMPPATH/$DATEFORM-$SITE.sql.zip $BACKUPPATH/$SITE
$ tree /tmp/test /backup/
/tmp/test
└── some-example.sql
/backup/
└── path
    └── example

1 directory, 2 files
1
12.12.2020, 07:33
1 ответ

Вы можете комбинировать findи duдля этого

find /home/vtrefny -type f -mmin -$((7 * 24 * 60)) -printf "%p\0" | du -h -t 1M --time --files0-from=-

findаргументы

  • -mmin--файлы последний раз изменялись X минут назад(cminи aminможно использовать для времени создания/доступа)
  • -$((7 * 24 * 60))--7 дней в минутах
  • -printf "%p\0"--путь к файлу печати с завершающим нулевым байтом(duтребуется)

duаргументы

  • --time--печать времени последней модификации(--time=<ctime/atime>может использоваться для времени создания/доступа ).
  • --files0-from=---чтение списка файлов из стандартного ввода (, предоставленного findздесь)
1
28.04.2021, 23:01

Теги

Похожие вопросы