В принципе smartd
использует определение в /etc/smartd.conf
для DEVICESCAN
или закодированных путей жесткого -диска из /dev/
, если вы их добавили. Таким образом, удаленные диски обычно должны автоматически пропускаться.
Может помочь удаление файла состояния для этих дисков в /var/lib/smartmontools/
.
Вы можете использовать stat
, чтобы получить размер файла. Используйте -c
для указания формата и используйте %s
в качестве формата для получения размера файла в байтах.
#! /bin/bash
file=...
backup=...
file_size=$(stat -c %s "$file")
backup_size=$(stat -c %s "$backup")
if (( file_size > backup_size )) ; then
echo "$file" is bigger.
fi
Вы можете использовать статистику stat --format=%s <file>
, чтобы получить размер файла а затем просто сравните целочисленные значения, используя встроенные -в -gt и -eq операторы. Пример файла -small.sh может выглядеть так:
#!/usr/bin/env sh
file1_size="$(stat --format=%s file1)"
file2_size="$(stat --format=%s file2)"
if [ "$file1_size" -eq "$file2_size" ]
then
printf "Files have equal sizes\n"
elif [ "$file1_size" -gt "$file2_size" ]
then
printf "file1 is larger\n"
else
printf "file2 is larger\n"
fi
Использование:
$ echo abc >> file1
$ echo abcd >> file2
$./file-smaller.sh
file2 is larger
$ cp file1 file2
$./file-smaller.sh
Files have equal size