从Rackspace Cloud站点备份内容(包括文件和数据库)时,我有什么选择?我知道他们有cron工作,但是我不确定我有什么选择。
从Rackspace Cloud站点备份内容(包括文件和数据库)时,我有什么选择?我知道他们有cron工作,但是我不确定我有什么选择。
Answers:
我使用两个脚本来备份我的VPS(托管在Linode上,但在Rackspace上也应如此)。
首先,对于mysql备份,我使用automysqlbackup脚本。它负责转储数据库,压缩它们以及维护备份文件的每日/每周/每月的多个副本。它还可以通过电子邮件将压缩的.sql转储发送给您。
对于常规的文件系统备份,我使用重复性 -这可以使用许多不同的存储后端(ftp,scp,nfs等),但是我选择使用Amazon S3后端。重复性将根据您的需要进行完整或增量备份。如果需要,它还将处理备份文件的压缩以及加密。
Rackspace不允许SSH进入他们的云站点,因此除非您能说服他们安装SSH,否则我认为Duplicity无法正常工作。
我们也在寻找一种解决方案,但是最终构建了一个备份系统,该系统可以归档文件和SQL转储,并将它们传输到Rackspace Cloud Files(已命名并注明日期)。该系统负责清理旧的备份(我们保留每天/每周/每月的各种备份),并在Drupal专用安装中作为模块工作。管理员提供有关每个备份状态的反馈,并填充Google电子表格以提供概述。它也可以与Rackspace之外的任何站点一起使用,因为它使用PHP客户端来完成所有工作(将一个PHP脚本上传到您要备份的站点上,在管理UI上进行设置,主站点将我们会在内部使用它,但是如果有兴趣的话可以将其作为模块发布,所以请告诉我。
我知道的唯一方法是创建一个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作业似乎是一个更“可靠”的解决方案。我仍在摆脱对GUI的依赖。D:
话虽如此,我每晚使用Cobian Backup通过FTP自动备份所有站点文件@ cloudsites。这是一个很好的解决方案,不需要脚本知识或Cron作业,只需确保定期测试还原即可。
此处有更多详细信息:http : //www.iainlbc.com/2010/04/how-to-backup-rackspace-cloudsites-automatically-incrementally-using-free-software/
MySQL Administrator(EOL)处理我们的Amazon RDS的自动备份
非常简单的脚本,用于在具有重复性的rackscpace云文件中进行备份
我尝试了http://www.zipitbackup.com/。它的备份实用程序来自机架空间。它运作良好。
文档说它是如何工作的:
->在每个站点上运行。必须为要备份的每个站点安装Zipit Backup Utility。
-> Zipit Backup Utility将所有Cloud Sites文件和数据库备份到您的Cloud Files帐户。
->列出所有可用的备份。可用的备份可以通过“云控制面板”进行管理。