используйте awk для выполнения команды logrotate, когда диск будет полон

То, что я пытаюсь сделать, вручную выполняется logrotate, когда мой диск больше, чем полных 90%. Я пытаюсь сделать это использование df-P и awk. Я могу заставить это отображать процент, если это> 90, но я не могу вполне выяснить, как заставить awk выполнять logrotate-f/etc/logrotate.d/, если это> 90.

Вот то, что я имею, который работает до сих пор:

Печать процента, если это> 90: df-P/dev/sda2 | хвост-1 | awk '5$> 90 {печатает 5$}'

Попытка выполнить logrotate

  df -P /dev/sda2 | tail -1 | awk '$5 > 90 {system(logrotate -vf /etc/logrotate.d) /dev/sda2}'
  df -P /dev/sda2 | tail -1 | awk '$5 > 90 {logrotate -f}' 

Я плохо знаком для все это, таким образом, точная команда значительно ценилась бы. Мое намерение состоит в том, чтобы поместить это в сценарий оболочки, или как часть команды ежедневного задания крона.

Спасибо за справку. Patrick.

-1
задан 10 April 2015 в 21:11
1 ответ

Вы были близки : для функции system требуется строка

awk '$5 > 90 {system("logrotate -vf /etc/logrotate.d")}'

ссылка

1
ответ дан 5 December 2019 в 19:53

Теги

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