PDA

Просмотр полной версии : [F.A.Q] Бекап вашего проекта



Osetin
19.12.2013, 17:19
Для тех кто не знает как сделать бекапы, можно обратится к своему хостеру, чтобы все настроили.
Или сделать самому по простому скрипту:
Для этого создать файл backup.sh в unix формате и вставить туда


#!/bin/sh
MYSQLU=пользователь базы данных
MYSQLP=пароль от этой базы
MYSQLD=путь куда будет сохранятся бекапа БД, например /var/backup/mysql/ естественно по этому пути надо создать папку и расшарить 755
FILEW=здесь указать какие файлы бекапить, например /var/www/имя_пользователя/data/www в данном случае это все домены
FILED=здесь указываем путь куда будет складываться бекап, например /var/backup/file/
echo "Backup DataBase:"
databases=(`echo 'show databases;' | mysql -u${MYSQLU} -p${MYSQLP} | grep -v ^Database$ | grep -v ^information_schema$ | grep -v ^mysql$ | grep -v ^performance_schema$`)
for d in "${databases[@]}"; do
if [[ $d != *'temp'* && $d != *'tmp'* && $d != *'test'* && $d != *'file'* && $d != *'default'* ]]
then
if [ -d ${MYSQLD}${d} ]
then
echo " " > /dev/null
else
mkdir -p ${MYSQLD}${d}
fi
FILES=${MYSQLD}${d}"/"${d}"-"`date "+%Y-%m-%d-%H-%M"`".gz"
mysqldump -u${MYSQLU} -p${MYSQLP} ${d} | gzip -c > ${FILES}
echo " "${d}" ("`du -sh ${FILES} | awk '{ print $1}'`")"
fi
done
echo "Backup Files:"
for d in $( ls ${FILEW}); do
if [[ $d != *'temp'* && $d != *'tmp'* && $d != *'test'* && $d != *'file'* && $d != *'ftp'* && $d != *'default'* ]]
then
if [ -d ${FILED}${d} ]
then
echo " " > /dev/null
else
mkdir -p ${FILED}${d}
fi
FILES=${FILED}${d}"/"${d}"-"`date "+%Y-%m-%d-%H-%M"`".tar.gz"
tar cpfz ${FILES} ${FILEW}${d} > /dev/null 2>&1
echo " "${d}" ("`du -sh ${FILES} | awk '{ print $1}'`")"
fi
done

Это самый простой код который бекапить БД и файлы по крону, как установите в cron так и будет.

Далее сохраняем и заливаем на сервер примерсюда /usr/local/bin/backup.sh
Теперь в кроне ставим исполнение скрипта, например /bin/bash /usr/local/bin/backup.sh >/dev/null 2>&1

Далее запускаем крон, ждем и проверяем папки на наличие в нем бекапа. Если все работает значит все хорошо, если нет, нужно смотреть не накосячили ли с путями внутри скрипта.

Надеюсь этот небольшой Ликбез вам поможет и каждый админ позаботиться о своем продукте заранее.

Источник : http://vbsupport.org/

^_^
19.12.2013, 17:38
Довольно полезно, спасибо.