Пакетное сохранение всех сайтов на сервере

Если вы владелец VPS, VDS или выделенного сервера, то скорее всего на нем расположено довольно много сайтов. В этом случае разумно один раз создать сценарий резервного копирования всех ваших сайтов на сервере и в дальнейшем можно будет делать бэкап всех сайтов буквально одним кликом мышки.

Создаем файл сценария (это обычный текстовый файл) следующего содержания:

#!/bin/bash
for i in `mysql –pВаш_пароль_MySql -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump - pВаш_пароль_MySql $i > `date +%Y-%m-%d`-$i; gzip -f `date +%Y-%m-%d`-$i;done
tar -cf `date +%Y-%m-%d`-backup_base.tar *.gz
rm -f *.gz
tar -zcf `date +%Y-%m-%d`-backup_files.tar.gz /путь к домашнему каталогу ваших сайтов/

Путь должен быть указан абсолютный, от корня сервера. Пароль от MySql должен быть административным паролем. Обратите внимание, ключ -p с паролем пишется слитно, пробела между ними быть не должно.

Назовем этот файл, например, backup-all.sh и назначим ему права 755 или rwxr-xr-x. Это можно сделать через интерфейс программы FTP (SFTP) или набрав в командной строке команду:

chmod755 backup-all.sh

Создайте в каталоге var (или другом – это не принципиально, лишь бы не в каталоге, где хостятся ваши сайты) отдельный пустой каталог для бекапа и скопируйте туда backup-all.sh.

Теперь надо запустить сценарий командой

./backup-all.sh

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

По окончании работы сценария в каталоге бэкапа будут лежать два архива:

дата-backup_base.tar
дата-backup_files.tar.gz

В первом будут дампы всех ваших баз, а во втором – файлы всех сайтов с сохранением структуры и прав доступа.

Вам останется лишь скачать их на яндекс.диск или в иное место, где вы храните ваши бэкапы.

Автор дизайна A4j