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.252 ]
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 ); } ?>
Install PHP8, 8.2, 8.3 no Deepin 23
Validação de e-mail usando o DIG
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Visualizar a árvore de arquivos no terminal
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta