Bash: удалите старые файлы кроме одного

Быстрый список вещей проверить:

  • Проверьте вершину на использование ЦП, загрузку и использование памяти. Это должно дать Вам хороший признак того, что проблема или нет. Если загрузка очень высока, у Вас просто есть слишком много трафика для Вашего сервера для обработки. Если у Вас есть высокий IO, ожидают %, у Вас есть слишком много активности диска. Если у Вас не будет использования загрузки/ЦП вообще затем, то это, вероятно, будет своего рода приложение, запираются.
  • В главной проверке на приложения с помощью большой памяти/CPU (M=sort памятью, P=sort использованием ЦП), или по крайней мере больше, чем они должны. Проверьте на заблокированные приложения путем поиска 'D' в столбце 'S'.
  • Проверьте top/free/vmstat на использование подкачки. Это должно быть 0 или очень низко. При использовании подкачки, необходимо будет реконфигурировать стек LAMP для использования меньшей памяти.
  • Проверьте netstat на любые знаки DoS (например).
  • Система контроля (/var/log/messages) и журналы приложения (Apache, MySQL, и т.д....) для соответствующих сообщений об ошибках. Если это повторяется каждые несколько минут, Вы можете видеть шаблон сообщений об ошибках.
  • Проверьте дисковое пространство через df -h и состояние диска с smartctl.
  • Если все это, кажется, не показывает проблем, это может быть своего рода проблема приложения или тупик. Попытайтесь позволить/добавить отладку, регистрирующуюся к приложению, и посмотрите, сужаете ли Вы, где проблема происходит.

2
задан 31 January 2014 в 12:05
1 ответ
 find  backups/ -name "bak_*.tbz" -mmin +4800 -type f -printf '%T@ %p\n' | sort -k 1nr |\
      tail -n +2 | cut -d ' ' -f 2 | xargs echo rm {}

Предполагается, что GNU find напечатает время модификации и имя файла, отсортирует его по времени модификации, удалите первую строку (самый новый файл), удалите столбец времени модификации и передайте его xargs для удаления (как указано, он будет только отображать команду удаления, но не выполнять ее).

удалите первую строку (самый новый файл), удалите столбец времени модификации и передайте его xargs для удаления (как указано, он будет только отображать команду удаления, но не выполнять ее на самом деле).

удалите первую строку (самый новый файл), удалите столбец времени модификации и передайте его xargs для удаления (как указано, он будет только отображать команду удаления, но не выполнять ее на самом деле).

4
ответ дан 3 December 2019 в 10:05

Теги

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