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

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

30.09.2014 Linux 1

Очень часто приходится сравнивать размеры файлов, будь то бэкапы, документы или любые другие файлы. Мне например очень пригодилось при работе с бэкапами, так как иногда архиватор создает бэкапы с нулевым размером (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

Отблагдарить автора статьи также можно переводом, +100 вам в карму!

 

Один Ответ

  1. dr.Edelon:

    #!/bin/sh
    while [ $(ls -l /tmp/gresp | awk ‘{ print $5 }’) -lt 20 ]
    do
    echo > /dev/null
    done

    жду пока /temp/gresp не распухнет до 20 байт

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

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