Вы можете изменить времяmtime
()в команде find
.
find /mylog/path -mindepth 1 -mtime +5 -delete
-mindepth 1
означает обработку всех файлов, кроме аргументов командной строки. -mtime +5
проверит файлы, измененные 5 дней назад. -delete
удалит Поскольку вы пишете программу на C++, я рекомендую третий и четвертый способ:
/sys/block/sd*/sd*/size
. statfs
, подробности см. в man statfs
. Да, это работает только тогда, когда раздел смонтирован. Быстрее, и вам не нужно анализировать вывод, и вы не облажаетесь в (маловероятном )событии, когда df
или lsblk
решат изменить свой выходной формат.