Скрипт для резервного копирования файлов и базы данных MySQL сразу нескольких сайтов

Скрипт для резервного копирования файлов и базы данных MySQL сразу нескольких сайтов

#!/bin/bash

NOW=$(date +"%Y-%m-%d")

doc_root='/var/www/'

bak_fold='/var/backups'

domains=('site1.ru','site2.ru','site3.ru')

bases=('db_site1', 'db_site2', 'db_site3')

count=${#domains[@]}

index=0

while [ "$index" -lt "$count" ]

do

  if [ -n "${bases[$index]}" ]

  then

    mysqldump -uroot -pqwe123 ${bases[$index]} > $doc_root${domains[$index]}/$NOW.${domains[$index]}.sql && cd $doc_root${domains[$index]}/ && tar -czf $bak_fold/$NOW.${domains[$index]}.tar.gz ./ && rm ./$NOW.${domains[$index]}.sql

  else

    cd $doc_root${domains[$index]}/ && tar -czf $bak_fold/$NOW.${domains[$index]}.tar.gz ./

  fi

  let "index = $index + 1"

done

Примечание: Если базы данных нет, а только файлы, в скрипте необдохимо оставить пустые кавычки в месте отсутствующей базы