Скрипт для проверки использования файловой системы и очистки пространства [закрыто]

Ничего подобного должно быть достаточно:

awk 'BEGIN{FS=OFS=","}NR==FNR{a[$3]=$0;next}$1 in a{print a[$1],$3,$4,$5}' file1 file2
1
05.09.2017, 03:56
1 ответ

Вы опубликовали вывод df -h, который удобочитаем для человека, но не годится для скриптов.

Вы, вероятно, захотите уделить больше внимания столбцу 4 (avail ), чем проценту в столбце 5.

Похоже, ваш скрипт знает о старых файлах журналов, которые «безопасно» удалять. Для данной операции сокращения этот набор файлов будет находиться ровно в одной файловой системе. Нет смысла анализировать общесистемный dfвывод, если вы действительно заботитесь об этом :

.
cd /var/log
df -k. | awk '{print $4}'

Это дает числовой отчет в килобайтах (, а не с удобочитаемыми текстовыми суффиксами )о точном количестве, которое вас интересует, свободного места для файловой системы текущего каталога. Вы можете написать вокруг этого цикл while, возможно, обрезая один файл, самый старый файл, каждый раз в цикле. Включите проверку работоспособности перед началом цикла :, убедитесь, что du -kговорит, что вы можете освободить «достаточно» места, если это необходимо. Нет ничего интересного в том, чтобы удалить dir1/*только для того, чтобы обнаружить, что dir2/giant_fileбыл тем, на чем вам следовало сосредоточиться.

1
27.01.2020, 23:44

Теги

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