2012-11-15 9 views
0

Je me demandais simplement si quelqu'un connaissait un script php pré-écrit pour transférer des fichiers depuis le site Cloud de Rackspace vers des fichiers cloud de Rackspace.Transférer des fichiers de CloudSite Rackspace vers des fichiers Cloud

Rackspace fournit un script pour sauvegarde fichiers dans le nuage, mais pas transfert. (et je ne m'en suis rendu compte qu'après avoir passé quelques heures et finalement avoir fait fonctionner le script).

http://www.rackspace.com/knowledge_center/article/how-to-use-cron-to-backup-cloudsites-to-cloudfiles

Je ne sais pas PHP (qui est nécessaire pour les travaux Cron Rackspace), donc s'il y a un script qui me aider à cela, il serait génial.

Merci.

+0

Transfert comment? Pourquoi? Tu ne peux pas simplement les transférer manuellement? –

+0

@relentless Nous avons des dizaines de milliers de fichiers à télécharger et à télécharger de nouveau en quelques jours:/Nous devons les déplacer/les copier directement du serveur vers le cloud. – Rivka

+0

Je ne suis pas sûr de votre question. Il semble que vous ayez indiqué que vous avez effectué la sauvegarde sur des fichiers cloud et que vous souhaitiez placer la sauvegarde sur un serveur cloud que vous avez lancé. Si c'est le cas, il suffit de télécharger le fichier de sauvegarde à partir des fichiers cloud sur le serveur et de l'extraire en utilisant les commandes Linux standard. –

Répondre

0

Voici le script que j'utilise lorsque je sauvegarde sur Rackspace. Il utilise la bibliothèque principale de fichiers cloud php des laboratoires de rack. Je l'ai mis en place comme un simple cron. Il suffit de remplacer le emai

php 'path/to/backup.php' 

<? 

require_once('php-cloudfiles-master/cloudfiles.php'); 

$server_name = 'YOUR_SERVER_NAME'; //Name of the Current Server 
$curr_date_time = date("Y-m-d--H:i:s"); //DON' CHANGE - Date 
$curr_day = date("Yd"); //DON' CHANGE - Date 
$sites = array("ENTERDATABASES HERE IN ARRAY FORMAT"); //Array of Databases to be Backed up 
$site_root = "/var/www/"; 
$temp_dir = "/bak/mysql/"; //temp directory 
$site_temp_dir = "/bak/site/"; //temp directory 
$rscfUsername = 'YOUR RACKSPACE USERNAME'; // the username for your rackspace account 
$rscfApiKey = 'YOUR RACKSPACE API KEY'; // the api key for your account 
$rscfContainer = 'YOUR RACKSPACE CONTAINER'; //rackspace containr 
foreach($sites as $site) { 

try{ 

exec("tar -czpf {$site_temp_dir}{$site}{$curr_date_time}_site.tar.gz {$site_root}{$site}"); 
// check if the file is created 
if(file_exists("{$site_temp_dir}{$site}{$curr_date_time}_site.tar.gz")) { 

$auth = new CF_Authentication($rscfUsername, $rscfApiKey); 
$auth->ssl_use_cabundle(); 
$auth->authenticate(); 
$conn = new CF_Connection($auth); 
$conn->ssl_use_cabundle(); 

// I allready created a container with this name otherwise user create_container 
$container = $conn->get_container($rscfContainer); 

// make a unique name with date in it so you know when it was created 
$objectName = $site.$curr_date_time.'.tar.gz'; 
$store = $container->create_object($objectName); 
$store->load_from_filename("{$site_temp_dir}{$site}{$curr_date_time}_site.tar.gz"); // send to rackspace 


} 

} catch (Exception $e) { 
    print_r($e, true); 
} 

} 

?> 
Questions connexes