Обычно я не даю готовых скриптов, предпочитая давать удочку, а не рыбу, но тут я подумал и решил, что я у себя использую эту идею - я тоже бэкаплю нечто примерно подобным образом, поэтому тут у нас будет вот:
#!/bin/sh
dirlist="dir1 dir2 dirN"
for onedir in $dirlist
do
# Это собственно бэкап
tar zcf - /mnt/md4/${onedir} | ssh user@192.168.0.XXX "cat > /mnt/BACKUP/${onedir}_$(date '+%F_%T').tar.gz"
# А это проверка того, что что-то сбэкапилось
# Отбрасываем ->, чтобы исключить линки
line=`ssh user@192.168.0.XXX \
"cd /mnt/BACKUP/ && ls -la | grep ${onedir}_$(date '+%F_%T').tar.gz | grep -v -e \"->\""`
# Если в результате пусто - такого файла нет
if [ ${#line} -eq 0 ]; then
echo "Backup failed"
else
# Берем длину и проверям, что она не нуль
size=`echo $line | awk '{print $5}'`
if [ $size -ne 0 ]; then
echo "Backup Success"
else
echo "Backup failed"
fi
fi
done