Привет! В попытках написать свой первый скрипт столкнулся с проблемой. При попытке его запуска получаю ошибку - Ошибка синтаксиса, неожиданный конец файла. Ошибка указывает на строку, следующую за последней, пустую. Возможно я пропустил где-то fi, не закрыл скобочку или что-то в этом духе, но я смотрю на эти 50 строк так долго, что в упор не вижу ошибки. Помогите пожалуйста, уважаемые) Так же с удовольствием послушаю как можно улучшить и упростить этого монстра)
#!/bin/bash
#
Source="/dir/to/source/"
NAS="//dir/to/network_share/"
Mountpoint="/mnt/nas/dir/"
Log="/dir/to/logs/rsyncing.log" # предполагается запуск скрипта с перенаправлением вывода в лог файл, который, в случае ошибки, пересылается на почту
Log_email="log@email.ru"
Success="0"
#
echo "Start time - $(date) "
if [ -d $Mountpoint ]
then
echo "Mountpoint already exists!"
else
echo "Creating mountpoint..."
mkdir $Mountpoint
fi
sleep 3
#
mount | grep "$NAS"
if [ "$?" -eq $Success ]
then
echo "NAS server already mounted"
else
echo "Mount external storage..."
mount.cifs $NAS $Mountpoint -o username=login,password=pass
fi
sleep 3
#
mount | grep "$NAS"
if [ "$?" -eq $Success ]
then
echo "NAS mounted successfully!"
echo "Synchronizating files from $(uname -n) to NAS..."
rsync --recursive --links --times --perms --verbose --update $Source $Mountpoint
wait
echo "Synchronization completed at $(date)"
sleep 3
echo "Umounting NAS server..."
umount $Mountpoint
sleep 3
echo "Removing mountpoint..."
rmdir $Mountpoint
sleep 3
else
echo "Error code "$?", rSynchronization from $(uname -n) to NAS failed, $(date) "
sleep 3
mail -s "rSync from $(uname -n) to NAS failed" "$Log_email" < $Log
fi
#
echo "Stop time - $(date) "