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.333 ]
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 ); } ?>
Receber atualização de encomendas do correios em seu e-mail
Gerenciador para QEMU, em PHP-CLI
Calsse eveFile: manipulação de arquivos
evePHP: Classe para desenvolvimento PHP
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
POSSO INSTALAR USAR O GRUB SEM TER LINUX INSTALADO, PARA INICIAR O WIN... (0)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (3)
Mover arquivos entre partições (4)