Скрипт для резервного копирования файлов и базы данных 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
Примечание: Если базы данных нет, а только файлы, в скрипте необдохимо оставить пустые кавычки в месте отсутствующей базы