Я хочу написать короткий скрипт резервного копирования на bash, который позволит мне выбрать каталог, который я хочу сохранить, а затем сжать его.Я сделал это.
Далее я хотел сделать это так, чтобы я мог сравнивать размер файлов, которые должны быть скопированы.Я использовал du -b /example/directory | cut -f1
.Это дало мне размеры папок в этом каталоге, без их имен.Но я не могу сравнить его со значением, используя оператор if, потому что это не целочисленный оператор.
Пока это мой код.
#!/bin/bash
#Which folders to backup
backup_files="/home"
#Where to save
dest="/home/student"
#Check size of each folder
file_size=$(du -b /example/directory | cut -f1)
#Size limit
check_size=1000
#Archive name
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tar.gz"
#Here's the problem I have
if [ "$file_size" -le "$check_size" ]; then
tar -vczf /$dest/$archive_file $backup_files
fi
echo "Backup finished"