Какие у меня есть возможности для резервного копирования контента с облачных сайтов Rackspace, включая файлы и базы данных? Я знаю, что у них есть cron-задания, но я не уверен, какие у меня есть варианты, когда дело доходит до этого.
Я использую два сценария для резервного копирования своего VPS (размещенного на Linode, но то же самое должно работать и на Rackspace).
Во-первых, для резервного копирования mysql я использую automysqlbackup сценарий. Он заботится о сбросе ваших баз данных, их сжатии и поддержании нескольких ежедневных / еженедельных / ежемесячных копий файлов резервных копий. Он также может отправить вам по электронной почте сжатые дампы .sql.
Для общего резервного копирования файловой системы я использую двуличие - здесь можно использовать несколько различных серверных модулей хранения (ftp, scp, nfs и т. д.), но я предпочитаю использовать серверную часть Amazon S3. Duplicity сделает либо полное, либо инкрементное резервное копирование в зависимости от ваших потребностей. Он также будет обрабатывать сжатие файлов резервных копий, а также шифрование, если вы того пожелаете.
Rackspace не разрешает использование SSH на своих облачных сайтах, поэтому я не думаю, что Duplicity будет работать, если вы не убедите их установить ее.
Мы тоже искали решение, но в итоге создали систему резервного копирования, которая архивирует файлы и дампы SQL и передает их в Rackspace Cloud Files с указанием имени и даты. Система выполняет очистку старых резервных копий (мы храним различные ежедневные / еженедельные / ежемесячные резервные копии) и работает как модуль в специальной установке Drupal. Администратор сообщает о статусе каждой резервной копии и заполняет электронную таблицу Google для обзора. Он также может работать с любым сайтом за пределами Rackspace, поскольку он использует PHP-клиент для выполнения всей работы (загрузите один PHP-скрипт на сайты, для которых вы хотите создать резервную копию, настройте его в пользовательском интерфейсе администратора, и главный сайт займет заботиться обо всем планировании / аутентификации / и т. д. ...) Мы используем его для внутренних целей, но можем выпустить его как модуль, если это будет интересно, так что дайте мне знать.
Единственный способ, о котором я знаю, - это создать задание cron для резервного копирования ваших данных и баз данных и использовать ftp или любой другой метод, который вы хотите использовать для передачи данных. Вот пример сценария.
#!/bin/sh
# System + MySQL backup script
# Full backup day - Sun (rest of the day do incremental backup)
# Copyright (c) 2005-2006 nixCraft
# This script is licensed under GNU GPL version 2.0 or above
# Automatically generated by http://bash.cyberciti.biz/backup/wizard-ftp-script.php
# ---------------------------------------------------------------------
### System Setup ###
DIRS="/home /etc /var/www"
BACKUP=/tmp/backup.$$
NOW=$(date +"%d-%m-%Y")
INCFILE="/root/tar-inc-backup.dat"
DAY=$(date +"%a")
FULLBACKUP="Sun"
### MySQL Setup ###
MUSER="admin"
MPASS="mysqladminpassword"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
### FTP server Setup ###
FTPD="/home/vivek/incremental"
FTPU="vivek"
FTPP="ftppassword"
FTPS="208.111.11.2"
NCFTP="$(which ncftpput)"
### Other stuff ###
EMAILID="admin@theos.in"
### Start Backup for file system ###
[ ! -d $BACKUP ] && mkdir -p $BACKUP || :
### See if we want to make a full backup ###
if [ "$DAY" == "$FULLBACKUP" ]; then
FTPD="/home/vivek/full"
FILE="fs-full-$NOW.tar.gz"
tar -zcvf $BACKUP/$FILE $DIRS
else
i=$(date +"%Hh%Mm%Ss")
FILE="fs-i-$NOW-$i.tar.gz"
tar -g $INCFILE -zcvf $BACKUP/$FILE $DIRS
fi
### Start MySQL Backup ###
# Get all databases name
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
FILE=$BACKUP/mysql-$db.$NOW-$(date +"%T").gz
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
### Dump backup using FTP ###
#Start FTP backup using ncftp
ncftp -u"$FTPU" -p"$FTPP" $FTPS<
mkdir $FTPD
mkdir $FTPD/$NOW
cd $FTPD/$NOW
lcd $BACKUP
mput *
quit
EOF
### Find out if ftp backup failed or not ###
if [ "$?" == "0" ]; then
rm -f $BACKUP/*
else
T=/tmp/backup.fail
echo "Date: $(date)">$T
echo "Hostname: $(hostname)" >>$T
echo "Backup failed" >>$T
mail -s "BACKUP FAILED" "$EMAILID" <$T
rm -f $T
fi
Мне кажется, что задание Cron, запускающее скрипт, является более "надежным" решением. Я все еще нахожусь в процессе избавления от зависимости от графического интерфейса пользователя. D:
При этом я использую Cobian Backup для автоматического резервного копирования всех файлов сайта @ cloudites через FTP каждую ночь. Это довольно хорошее решение, которое не требует знания скриптов или заданий Cron, просто периодически проверяйте восстановление.
Подробнее здесь: http://www.iainlbc.com/2010/04/how-to-backup-rackspace-cloudsites-automatically-incrementally-using-free-software/
Администратор MySQL (EOL) обрабатывает автоматические резервные копии наших RDS amazon.
очень простой скрипт для резервного копирования в облачные файлы с дублированием
Я попытался http://www.zipitbackup.com/ . Утилита резервного копирования из стойки. Это работает хорошо.
В документации указано, как это работает:
-> Работает для каждого сайта. Утилита Zipit Backup должна быть установлена для каждого сайта, для которого требуется создать резервную копию.
-> Утилита Zipit Backup выполняет резервное копирование всех файлов и баз данных Cloud Sites в вашу учетную запись Cloud Files.
-> Список всех доступных резервных копий. Доступными резервными копиями можно управлять через облачную панель управления.