磁盘空间不足时执行脚本

磁盘空间不足时执行脚本

当磁盘空间不足时,是否有一种智能方法可以执行脚本?我知道我可以手动检查磁盘空间,但当磁盘空间不足时(例如)想要删除日志文件似乎是一个常见问题,而这正是我想要做的。

答案1

您可以使用df单行 shell 脚本。

首先,我们需要告诉df仅打印使用的百分比:

df / --output='pcent'

将其与 grep 结合以仅获取数字:

df / --output='pcent' | grep -o "[0-9]*"    

如果磁盘已填充 55%,则将得出例如“55”。

现在在 crontab 中,我们可以像这样使用它:

@daily sh -c "if [ $(df / --output='pcent' | grep -o "[0-9]*") -gt 90 ]; then docker system prune -af; fi

在此示例中,docker system prune -af如果磁盘已满 90% 以上,我们将运行。根据需要进行调整。

答案2

如果您不是特别关心您的日志文件,您可以在 cron 中放置一个脚本来检查磁盘空间。

自动清除旧日志就是logrotate为了这个目的。

相关内容