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.515 ]
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 );
}
?>
Monitoramento de processos - TOP
evePHP: Classe para desenvolvimento PHP
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (7)
O programa assinador digital (5)









