Backup de arquivos na Cloud com AWS Amazon S3 e PHP
Publicado por Edilson Osorio Junior (última atualização em 21/01/2013)
[ Hits: 4.651 ]
Homepage: www.eddieoz.com
Boas práticas de Segurança da Informação ditam que não se deve manter os backups somente na mesma máquina onde os dados principais estão. Para ajudar a resolver este ponto específico - manter cópias dos backups em ambiente externo à empresa - vamos exemplificar como utilizar a Amazon S3 como storage para seus dados.
#!/usr/bin/php
<?php
/*
* Script: s3-send.php
* Author: Edilson Osorio Junior
* Contact: ml: osorio.edilson at eddieoz dot com | twttr: eddieoz
* Date: 2013-01-04
* Description: This script backups a file to some amazonS3 bucket
* Requisites: - An AWS Amazon account
* - S3 bucket
* - Functional AWS SDK for PHP installed
* Usage: s3-send.php --bucket= --file=<fullpath_filename>
*
* More information on http://www.eddieoz.com/us/articles/cloud-computing/43-backup-de-arquivos-na-aws-amazon-s3
*/
error_reporting(-1);
header("Content-type: text/plain; charset=utf-8");
# SDK AWS for PHP
require_once '/installed/binaries/AWSSDKforPHP/sdk.class.php';
# Get and test parameters
$shortopts = "";
$longopts = array(
"bucket:",
"file:",
);
$param = getopt($shortopts,$longopts);
if ( count($param) < 2 ){
print("Params: --bucket= --file=\n");
exit(1);
}
$fullpath_filename = $param['file'];
$bucket = $param['bucket'];
# Initialize AmazonS3
$s3 = new AmazonS3();
# Get just the filename, without path
$filename = explode(DIRECTORY_SEPARATOR, $fullpath_filename);
$filename = array_pop($filename);
# Prepare to send the file
$s3->batch()->create_object($bucket, $filename, array('fileUpload' => $fullpath_filename));
# send the file and get response, thats an array
$file_upload_response = $s3->batch()->send();
# Consists the return
if ($file_upload_response->areOK())
{
# Show the full URL to access the file.
echo $s3->get_object_url($bucket, $filename, '5 minutes') . PHP_EOL . PHP_EOL;
}
else
{
# On error, show the xml
print_r( $file_upload_response );
}
?>
Validação de e-mail usando o DIG
Nenhum comentário foi encontrado.
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Tentando fazer um "linux ricing" mas falhando miseravelmente... (2)
Elilo e Sofrimento no Slackware (3)
Não consigo instalar as bibliotecas em Python pelo terminal. (1)









