Как в bash узнать размер файла

Очень часто приходится сравнивать размеры файлов, будь то бэкапы, документы или любые другие файлы. Мне например очень пригодилось при работе с бэкапами, так как иногда архиватор создает бэкапы с нулевым размером (32 байта). Чтобы избежать таких “косяков” в своих скриптах я использую команду:

filesize=$(stat -c%s "$file");

В ответ вы получите размер файла в байтах. Это очень удобно при работе с маленькими файлами, либо когда разница в файле очень мала. Дальше используйте по-своему усмотрению. например, так:

#если бэкап меньше 1 мбайта, то подозрительна чёта 8(
filesize=$(stat -c%s "$file");
if [ "$filesize" -lt "1000000" ];
then
echo "WARNING! File size of $file is small - $filesize byte" >> $backupdir/$logfile;
fi

Затем весь лог-файл отправляется на почту. Об этом написано в посте Как отправить содержимое файла на почту в bash

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *